从Cloud Firestore获取所有用户的所有帖子

时间:2020-02-20 06:28:54

标签: firebase flutter google-cloud-firestore

我正在构建 Flutter 应用。图片中提供了Cloud Firestore数据库结构。我想使用 StreamBuilder 获得所有用户的所有帖子。我怎样才能做到这一点?到目前为止,我已经尝试过:

Stream<List<PostModel>> jobs() {
    return usersCollection.snapshots().map((snapshot) {
      return snapshot.documents.map((doc) {
        doc['posts'].map((docu) {
          return PostModel.fromSnapshot(docu);
        });
      }).toList();
    });
  }

Firestore Database Structure

1 个答案:

答案 0 :(得分:3)

如果要在所有称为“帖子”的子集中的所有文档中使用(对于所有用户),那么您可能希望使用collection group query使用collectionGroup()

db.collectionGroup("posts").snapshots()...

这将为您提供任何称为“帖子”的集合或子集合中的所有文档,无论其嵌套在何处。