Firebase 如何阅读firestore系列?

Firebase 如何阅读firestore系列?,firebase,flutter,google-cloud-firestore,Firebase,Flutter,Google Cloud Firestore,如何列出firestore中的所有文档 此代码始终从以下位置返回到else: 删除文档时,Cloud Firestore不会自动删除其子集合中的文档。您仍然可以通过引用访问子集合文档。例如,您可以在路径/mycoll/mydoc/mysubcoll/mysubdoc处访问文档,即使您在/mycoll/mydoc处删除了祖先文档 不存在祖先文档,但它们不会出现在查询结果和快照中 即使文档的一个或多个祖先不存在,文档也可以存在。例如,路径为/mycoll/mydoc/mysubcoll/mysu

如何列出firestore中的所有文档

此代码始终从以下位置返回到else

删除文档时,Cloud Firestore不会自动删除其子集合中的文档。您仍然可以通过引用访问子集合文档。例如,您可以在路径
/mycoll/mydoc/mysubcoll/mysubdoc
处访问文档,即使您在
/mycoll/mydoc
处删除了祖先文档

不存在祖先文档,但它们不会出现在查询结果和快照中


即使文档的一个或多个祖先不存在,文档也可以存在。例如,路径为
/mycoll/mydoc/mysubcoll/mysubdoc
的文档可以存在,即使祖先文档
/mycoll/mydoc
不存在。Cloud Firestore data viewer显示不存在的祖先文档,如下所示:

  • 在集合的文档列表中,不存在的祖先文档的文档ID是斜体的
  • 在不存在的祖先文档的信息面板中,data viewer指出该文档不存在

因为您的文档名是斜体的,这意味着您要么删除了文档,要么将子集合添加到空文档中,这似乎是您根据屏幕截图所做的。因此,要解决此问题,请删除集合
,并添加包含数据的文档:

FirebaseFirestore db = FirebaseFirestore.instance;
db.collection("group").doc("dialog").set({"name" : "peter"}).then((value){
  db.collection("group").doc("dialog").collection("Tkxij").add({"test" :"test"});
});

此外,查询也是肤浅的,这意味着如果您引用的是文档,那么您将只获取该文档的数据,而不会获取子集合中的数据。

我已经为您的问题添加了代码。希望这可以消除您的疑问,如果您有任何疑问,请随时询问

getData( ) async{

    final collectionData = await FirebaseFirestore.instance
        .collection('groups').get();

    //this forEach method will give every document of that collection
     collectionData.docs.forEach((doc) {
       final docData = doc.data();
       final fieldData = docData['fieldName'];
     });

  } 

集合(“Tkxij”)中有大量数据文档对话框为空,然后您向其中添加了一个子集合,请尝试我提供的代码you@harsha.kuruwita您试过了吗?您请求的文档(组/对话框)不存在。你可以分辨,因为它的名字是斜体字。它有嵌套的子集合,但这些子集合不会在查询中返回。您必须单独查询这些。
getData( ) async{

    final collectionData = await FirebaseFirestore.instance
        .collection('groups').get();

    //this forEach method will give every document of that collection
     collectionData.docs.forEach((doc) {
       final docData = doc.data();
       final fieldData = docData['fieldName'];
     });

  }