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

是否可以在FireStore中的集合组查询中使用Where?

齐昊苍
2023-03-14

-用户(顶级集合):
----user1(doc):
--------pets(子集合):
----------pet1(doc)
----------pet2(doc)
---------pets(子集合):
-----------pet3(doc)
-------------pet4(doc)

如果我有一个IDS列表:列表(“pet2”、“pet3”、“pet4)

有没有一种方法可以做这样的事情,然后得到一个文档快照列表?

firestore.collectiongruop(“pets”),其中(fieldpath.documentId(),list)

它适用于根集合,但我不知道这是否适用于集合组

共有1个答案

司马念
2023-03-14

集合组查询是fieldpath.documentID()上的筛选器不能按预期方式工作的唯一地方。这是因为关于这个令牌实际工作方式的一些细节。如果您尝试这样做,您将得到如下错误:

无效查询。当通过FieldPath.documentId()查询集合组时,提供的值必须导致有效的文档路径,但“x”不是,因为它有奇数个段。

如果要在集合组查询中对文档ID进行筛选,则需要将文档ID存储为每个文档中字段的值。如果您使用名为“id”的字段,那么您可以像这样对该字段进行筛选:

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

  • 问题内容: 有没有一种方法可以检查nodestore的firestore中是否存在子集合? 目前,我正在使用文档,但是我需要检查文档中是否存在子类以便写入一些数据。 问题答案: 就在这里。您可以使用docs.length来知道子集合是否存在。 我制作了一个样本来指导您,希望对您有所帮助。

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

  • 我们能否像在firebase firestore中创建子集合那样,在mongoDB文档中创建子集合?

  • 我正在使用Firebase Firestore作为BaaS构建一个应用程序。 但当我尝试在我的应用程序上创建提要/实现全文搜索时,我面临一个问题。 我希望能够搜索所有用户的帖子,问题是,用户帖子在Firestore数据库中的结构如下: 帖子(收藏)- 我想遍历每个用户的用户帖子子集合并获取提要的所有数据,并使用Algolia或ES等全文搜索应用程序来实现它。 > 我可以遍历特定的用户ID(代码如下