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

sar*_*den 5 database-design firebase google-cloud-firestore

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

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

将用户的帖子存储在用户文档的子集合中将使获取用户的个人资料的帖子变得非常容易,但是是否可以编写一个优雅的查询将每个用户的帖子子集合合并到一个结果集中?

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

Fra*_*len 3

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

这意味着您可能希望将用户文档保留在顶级documents集合中,并owner为其 UID 提供属性。然后您可以使用简单的documentsRef.where("owner", "==", uid).

  • 现在可以通过集合组查询实现这一点。有关更多详细信息,请参阅 /sf/answers/3260121721/。 (3认同)