首页 > 解决方案 > Flutter & firestore:查询多个用户的所有帖子

问题描述

我的数据库的结构如下所示:

在此处输入图像描述

每个用户在以下集合中都有一个文档,该文档还包含一个集合,其中包含他所关注的用户的 ID。

“posts”集合具有发布它的用户的 ID。

现在我想以这样一种方式查询它,以便我从我的用户关注的用户那里获取所有帖子(按时间戳排序)

这就是我的用户和帖子模型的样子:

class PostModel {
  final String id;
  final String creator;
  final String text;
  final Timestamp timestamp;
  
  
  PostModel({this.id, this.creator, this.text, this.timestamp});
}
class UserModel {
  final String id;
  final String email;
  final int following;
  final int followers;
  final String profileImgUrl;
  final String name;
  final String bio;
  final bool isVerified;
  final int postAmount;

  UserModel(
      {this.id,
      this.email,
      this.following,
      this.followers,
      this.profileImgUrl,
      this.name,
      this.bio,
      this.isVerified,
      this.postAmount});
}

有人可以帮我想出一个简单的方法来做到这一点吗?

标签: flutterdartgoogle-cloud-firestore

解决方案


您可以使用数组字段来存储用户,而不是子集合用户,否则您需要每次都获取用户子查询,这很昂贵


推荐阅读