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

Firestore从集合中查询多个文档

谭卜鹰
2023-03-14

在Firestore中,我有一个用户集合,在每个用户文档中存储一个名为favorites的集合,该集合包含标记为favorites(存储)的文档的ID

in users/2pfV9FbtwPYFmQHz3KU2BKmhMr82/favorites 
I have multiple documents such as 7F9COWGW3Ww8FWiH8VTA and 8b8WogHzpqCkw0ZxMjOw
A similar query will be
SELECT * FROM stores WHERE docID EXISTS IN favorites

我可以采取另一种方法来获取两个集合并手动过滤它们,但我使用的是Firebase RecycerView适配器,它显示的所有数据都基于查询,这将使事情更加高效。

这样的结果是如何实现的呢?如果需要进一步的解释,请告诉我

共有1个答案

潘琨
2023-03-14

您所要求的称为“联接”,FireStore不支持这些类型的查询。Firestore只能在单个查询中一次使用来自单个集合的文档。(集合组查询例外,它可以使用多个集合中的文档,这些文档都具有相同的名称)。

您需要做的是查询“收藏夹”中的所有文档,并使用该查询的结果从“存储”中分别get()每个相关文档。

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

  • 我想我读到您可以使用新的Firebase Firestore查询子集合,但我没有看到任何示例。例如,我以以下方式设置了Firestore: 舞蹈[收藏] DanceName 歌曲[收藏] 松南 我如何才能查询“查找所有的舞蹈在songName=='x'”

  • 问题内容: 我是Firestore的新手。我想通过使用ID按联接查询从其他集合中获取名称。我该怎么办? 这是一些样本集合。 我有两个集合。员工和部门。 我想查询员工集合,并想添加部门文档作为响应的一部分。这是我尝试获取的示例响应。 这是我获取员工数据的示例代码。 如何为该员工添加部门对象? 问题答案: Firestore没有联接查询。如果要合并两个文档中的数据,则必须分别查询它们,然后根据两个文档

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

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

  • 我正在为一个使用Cloud Firestore的项目规划我的DB的结构,目前我正在尝试找出存储数据并将其与用户关联的最佳方法。具体情况如下: 我在我的数据库的根部有一个用户文档的集合,我希望用户能够通过查看显示该用户的帖子的用户配置文件页面以及通过查看显示所有用户的帖子的页面来创建可以访问的帖子。 将用户的文章存储在用户文档的子集合中会使获取用户的文章用于其配置文件变得非常容易,但是是否可以编写一