firebase - 如何阅读 Firestore 收藏?
问题描述
如何列出firestore中的所有文档
FirebaseFirestore.instance
.collection('groups')
.doc('dialog')
.get()
.then((DocumentSnapshot documentSnapshot) {
if (documentSnapshot.exists) {
print('Document data: ${documentSnapshot.data()}');
} else {
print('Document does not exist on the database');
}
});
此代码总是返回到 else
解决方案
从文档:
删除文档时,Cloud Firestore 不会自动删除其子集合中的文档。您仍然可以通过引用访问子集合文档。例如,
/mycoll/mydoc/mysubcoll/mysubdoc
即使您删除了位于 的祖先文档,您也可以访问位于 path 的文档/mycoll/mydoc
。
不存在的祖先文档出现在控制台中,但它们不会出现在查询结果和快照中。
即使一个或多个祖先不存在,一个文档也可以存在。例如,
/mycoll/mydoc/mysubcoll/mysubdoc
即使祖先文档/mycoll/mydoc
不存在,路径处的文档也可以存在。Cloud Firestore 数据查看器显示不存在的祖先文档,如下所示:
- 在集合的文档列表中,不存在的祖先文档的文档 ID 用斜体表示。
- 在不存在的祖先文档的信息面板中,数据查看器指出该文档不存在。
由于您的文档名称是斜体,这意味着您要么删除了文档,要么将子集合添加到了一个空文档中,根据您的屏幕截图,您可能已经完成了。因此,要解决此问题,请删除集合group
并添加包含数据的文档:
FirebaseFirestore db = FirebaseFirestore.instance;
db.collection("group").doc("dialog").set({"name" : "peter"}).then((value){
db.collection("group").doc("dialog").collection("Tkxij").add({"test" :"test"});
});
查询也很浅,这意味着如果您正在引用一个文档,那么您将只会获得该文档的数据,您将不会获得子集合中的数据。
推荐阅读
- sql - 如何以线性方式将 IN 子句中的值列表与另一个 IN 子句匹配
- python - 我在 Python 和 TensorFlow 中进行图像处理我尝试创建 TF_Record 文件它给出错误
- javascript - 描述符可以在 Typescript 中更改类型吗?
- wordpress - nginx 不断重定向到 80、443 以外的一些奇怪的默认端口。在这里使用 wordpress
- firebase - 哪个是用于firebase实时数据库操作的最佳cordova插件
- python - django.core.exceptions.SuspiciousFileOperation:连接路径位于基本路径组件之外
- php - 如何为特定用户广播事件?
- mysql - 汇总广告点击次数和观看次数
- android - 添加后清单合并失败:annotationProcessor "androidx.lifecycle:lifecycle-compiler:2.0.0"
- css - 如何使背景颜色透明