Firebase 如何阅读firestore系列?
如何列出firestore中的所有文档 此代码始终从以下位置返回到else: 删除文档时,Cloud 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
/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'];
});
}