颤振+;Firebase:如何迭代子集合?

颤振+;Firebase:如何迭代子集合?,firebase,flutter,google-cloud-firestore,Firebase,Flutter,Google Cloud Firestore,我正在用Flatter和Cloud Firestore构建Instagram克隆,我正在尝试这样构建数据库: /TimeLine/itemID/comments/commentItemID/ 集合(“时间线”)>文档(每个照片项目)>带有项目照片、标题等的地图>评论子集合>评论项目>评论地图和作者姓名 实际上是这样的: /TimeLine/itemID/comments/commentItemID/ 例如,阅读项目标题很容易。我可以呈现Listview.builder并使用: snapsho

我正在用Flatter和Cloud Firestore构建Instagram克隆,我正在尝试这样构建数据库:

/TimeLine/itemID/comments/commentItemID/
集合(“时间线”)>文档(每个照片项目)>带有项目照片、标题等的地图>评论子集合>评论项目>评论地图和作者姓名

实际上是这样的:

/TimeLine/itemID/comments/commentItemID/
例如,阅读项目标题很容易。我可以呈现Listview.builder并使用:

snapshot.data.documents.elementAt(i)['itemTitle']
但是我如何遍历每个项目的Comments子集合呢?我尝试了嵌套的Listview,但无法访问elementAt(index)的子集合:

还是有更好的方法来构建这个


以下代码用于检索和显示快照或检索子集合:

为了查看数据,我们必须检索该集合的所有文档或特定文档。为了检索特定的文档,我们必须指定文档id

void getData() {
  databaseReference
      .collection("comments")
      .getDocuments()
      .then((QuerySnapshot snapshot) {
    snapshot.documents.forEach((f) => print('${f.data}}'));
  });
}

检索子集合

firestoreInstance.collection("comments").get().then((querySnapshot) {
  querySnapshot.docs.forEach((result) {
    firestoreInstance
        .collection("comments")
        .doc(result.id)
        .collection("SUBCOLLECTION")
        .get()
        .then((querySnapshot) {
      querySnapshot.docs.forEach((result) {
        print(result.data());
      });
    });
  });
});
}

还请查看以下教程。

这不是一种经济的方法,您不能查询集合,只能查询文档请包括firestore对象的图像。我现在已经包括了一个。谢谢请查看以下内容,它是针对您的问题发布的答案。另外请记住,您不能查询集合,您需要查询集合中的文档以获取数据。还请查看以下内容。