firebase - 是否可以获取其子集合包含特定文档 ID 的所有文档?

标签 firebase flutter dart google-cloud-firestore

我正在尝试获取其子集合包含特定文档 ID 的所有文档。有什么办法吗?

例如,如果'查询'子集合下的盒装文档存在,那么我需要'书籍'集合中的盒装文档ID。我不知道如何向后返回以获取父文档 ID。

Structure of my database

最佳答案

我假设所有子集合都具有相同的名称,即 enquiries。然后,您可以执行以下操作:

  1. 在包含文档 ID 的 enquiries 文档中添加字段 docId
  2. 执行 Collection Group query为了获得所有具有所需 docId 值的文档 (Firestore.instance.collectionGroup("enquiries").where("docId", isEqualTo: "ykXB...")。 getDocuments()).
  3. 然后,您遍历查询结果,并为每个 DocumentReference 调用两次 parent() 方法(first time 您将获得 CollectionReferencesecond time 您将获得父文档的 DocumentReference
  4. 你只需要使用 id属性(property),你就完成了。

关于firebase - 是否可以获取其子集合包含特定文档 ID 的所有文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61500259/

相关文章:

flutter - 我无法将数据持久保存在HiveBox的本地存储中,当我重新加载页面时,本地数据库中的所有内容都为空

flutter - 如何在开发过程中同时使用 Android 和 IOS 模拟器来测试我的 flutter 应用程序?

flutter - 项目删除后 ListView.builder 中的 UI 更改

android - 运行flutter项目时如何修复 "Finished with error: Gradle task assembleDebug failed with exit code -1"错误

dart - 在 flutter/dart 中发布 pubsub 消息

java - Firebase:处理 setValue 失败

firebase - firestore 数据库类型验证

flutter - 如何在 Flutter 中进行嵌套导航

angularjs - firebase deploy 不会在我的 Angular 应用程序的 bower_components 目录中复制或链接任何 .js 脚本

java - 在 Firebase 数据库中读取子项时遇到一些问题