【问题标题】:Flutter-Firestore: get Document with know id from Collection Group QueryFlutter-Firestore:从集合组查询中获取具有已知 ID 的文档
【发布时间】:2021-12-31 07:15:42
【问题描述】:

这是我的 Firestore 数据库的结构示意图

每个公司文档都有一个users 集合

在我的 Flutter 应用程序中,我需要检索一个用户文档(如标有蓝星的那个)。我知道这个文件的id,但不知道它在哪个公司文件下。

检索此类文档的最快方法是什么?我可以使用.collectionGroup(),然后通过doc id 过滤查询吗?

【问题讨论】:

标签: database firebase flutter google-cloud-firestore


【解决方案1】:

您可以将collectionGroup() 查询与where() 子句一起使用。

Firestore.instance.collectionGroup('users').where('userIdField', isEqualTo: 'USER_ID')

您可以从提取的文档的DocumentReference 中读取用户的公司 ID。

正如@Frank 评论的那样,在集合组查询中使用带有文档 ID 的 where 将不匹配。您还必须将用户的 UID 存储为字段。

【讨论】:

  • 你确定这行得通吗?对于集合组,索引将文档的完整路径存储在 documentId 字段中,因此不会匹配(仅)USER_ID 值。
  • 感谢您的关注!我肯定错过了。
  • 谢谢。还有其他方法吗?比如检查USER_ID 是否包含documentId
  • @GBerga 最好将其存储为字段。
猜你喜欢
  • 1970-01-01
  • 2021-12-16
  • 1970-01-01
  • 2021-11-18
  • 2018-04-04
  • 2021-07-29
  • 2019-09-17
  • 2021-04-08
  • 1970-01-01
相关资源
最近更新 更多