是否可以在 Cloud Firestore 中查询多个文档子集合? [复制]

Posted

技术标签:

【中文标题】是否可以在 Cloud Firestore 中查询多个文档子集合? [复制]【英文标题】:Is it possible to query multiple document sub-collections in Cloud Firestore? [duplicate] 【发布时间】:2018-06-03 15:15:15 【问题描述】:

我正在为使用 Cloud Firestore 的项目规划我的数据库结构,目前我正在尝试找出存储数据并将其与用户关联的最佳方法。具体如下:

我的数据库根目录中有一组用户文档,我希望用户能够通过查看显示该用户帖子的用户个人资料页面以及通过查看汇总来发布可访问的帖子在显示所有用户帖子的页面上。

将用户的帖子存储在用户文档的子集合中可以很容易地为他们的个人资料获取用户的帖子,但是是否可以编写一个优雅的查询,将每个用户的帖子子集合合并为一个结果设置好了吗?

或者更好的方法是在我调用的帖子的根目录中拥有另一个集合,并在每个帖子上都有一个包含用户 UID 或用户文档的非规范化副本的字段?

【问题讨论】:

【参考方案1】:

查询针对单个文档集合运行。 (目前)无法跨多个(子)集合进行查询。

这意味着您可能希望将用户文档保存在***documents 集合中,并为其UID 使用owner 属性。然后你可以用一个简单的documentsRef.where("owner", "==", uid)选择一个用户的帖子。

【讨论】:

现在可以使用集合组查询。有关详细信息,请参阅***.com/a/46573167/6253640。

以上是关于是否可以在 Cloud Firestore 中查询多个文档子集合? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Cloud Firestore 是不是支持 React Native

新的“Cloud Firestore”是不是能够基于位置距离进行查询?

Cloud Firestore 每次读取定价

Cloud Firestore 查询是不是仍区分大小写?

在 Cloud Firestore 中更新集合名称

如何在 Cloud Firestore 中使用文档 ID 执行集合组查询