当前位置: 首页 > 知识库问答 >
问题:

是否可以在云Firestore中查询多个文档子集合?[副本]

农存
2023-03-14

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

我在我的数据库的根部有一个用户文档的集合,我希望用户能够通过查看显示该用户的帖子的用户配置文件页面以及通过查看显示所有用户的帖子的页面来创建可以访问的帖子。

将用户的文章存储在用户文档的子集合中会使获取用户的文章用于其配置文件变得非常容易,但是是否可以编写一个优雅的查询,将每个用户的文章子集合合并到一个结果集中?

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

共有1个答案

巫新知
2023-03-14

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

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

 类似资料:
  • 在Firestore中,我有一个用户集合,在每个用户文档中存储一个名为favorites的集合,该集合包含标记为favorites(存储)的文档的ID 我可以采取另一种方法来获取两个集合并手动过滤它们,但我使用的是Firebase RecycerView适配器,它显示的所有数据都基于查询,这将使事情更加高效。 这样的结果是如何实现的呢?如果需要进一步的解释,请告诉我

  • 我在Cloud Firestore中有以下简化的数据模式: 我现在想向用户展示他团队的所有“待办事项”文档,我不知道什么是最好的方法。 1. 集合组查询 - 按团队 ID 查询 为此需要两个查询。每个待办事项文档都可以具有父团队 ID,并通过集合组查询进行检索,例如 - 到目前为止,这对我来说似乎是最好的解决方案,但缺点是“IN”查询限制为10个值 https://firebase.googleb

  • 为了查询子集合和父文档,我对firest的文档及其最佳实践有一些问题。我试图使用Typecript在我的Firebase函数中进行查询。 DB: ├── 用户(集合) │ └── 用户(ID为的文档) │ │ └── 计划(子集合) 我有一个数组中的用户ID列表,我需要从用户文档和当前文档的子集合计划中收集信息。 但是如何从用户文档和子集合(计划)文档(当前)中获取数据,我不知道在场景中最有效的查

  • 我有文档,其中包含子集合。现在,我想获取子集合中至少有一项的所有项目。这可能吗? 类似于: < code>getDocs(collection(getDB()," Projects)),其中(" Items.size ","

  • 我的想法是在本地存储整个文档,并在有限的时间内(大约一周)忽略这些文档。我知道在cloud firestore中没有!=ekviValide,但我想知道是否有可能使用文档的ID或类似的东西跳过文档。

  • -用户(顶级集合): ----user1(doc): --------pets(子集合): ----------pet1(doc) ----------pet2(doc) ---------pets(子集合): -----------pet3(doc) -------------pet4(doc) 如果我有一个IDS列表: 有没有一种方法可以做这样的事情,然后得到一个文档快照列表? 它适用于根集合