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

Firestore查询子集合和父文档

高森
2023-03-14

为了查询子集合和父文档,我对firest的文档及其最佳实践有一些问题。我试图使用Typecript在我的Firebase函数中进行查询。

DB:

├── 用户(集合)
│ └── 用户(ID为的文档)
│ │ └── 计划(子集合)

我有一个数组中的用户ID列表,我需要从用户文档和当前文档的子集合计划中收集信息。

.where("id", in, idArray).get()

但是如何从用户文档和子集合(计划)文档(当前)中获取数据,我不知道在场景中最有效的查询方式,文档对我来说也不是很清楚。

谢啦

共有1个答案

安聪
2023-03-14

Firestore查询只能考虑它将返回的文档中的信息。对计划子集合的查询无法访问/查询用户文档中的信息。

因此,如果您想为一组用户选择计划,您还需要将用户文档的ID包含到每个计划文档中。在使用非关系型数据库时,这种重复非常常见,这也是FiRecovery能够满足其性能保证的原因之一。

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

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

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

  • 假设我有一个集合,其中包含子集合。餐厅权限设置在餐厅文档中,如下所示: 餐馆 任何有权访问餐厅的人也可以访问它的任何子集合,包括子集合。这是安全规则: 安全规则 查询餐厅列表可以这样完成,而且效果很好: 查询餐厅 现在如何查询子集合?我知道Firestore需要根据查询推断权限,而不查看底层数据。从逻辑上讲,这应该是可能的,因为任何可以访问的人也可以访问子集合。但是我如何组合这个子集合查询,以便F

  • 当使用Firebase控制台时,可以看到所有文档和集合,甚至是路径中包含不存在的“文档”的子集合。 有没有可能,以某种方式,列出这些文件。既然控制台能做到,看来肯定有办法。如果有可能找到这些文档,是否可以创建一个查询来获取所有不存在但仅限于具有嵌套子集合的文档?(因为所有不存在的文档集将是无限的)