是否可以查询特定集合的collectionGroup?

时间:2019-09-14 16:44:15

标签: firebase google-cloud-firestore

我有一个用户集合,在该集合中有一个集合名称组,然后有groupItems。是否可以对特定用户的所有groupItems进行查询?

我可以运行以下全局版本:

db.collectionGroup('groupItems')

但这对我来说太过分了,我正在寻找类似的东西:

db.collection('users').doc(uid).collection('groups').collectionGroup('groupIems').where('categoryOnly', '==', true)

这可能吗?

集合的体系结构如下:

Users
---> User
------> Collections
---------> GroupA
------------> GroupAItems
---------------> GroupAItem1
---------------> GroupAItem2
---------> GroupB
------------> GroupBItems
---------------> GroupBItem1
---------------> GroupBItem2

理想情况下,我可以要求所有的组项目,而不是先调用组并获取[GroupA,GroupB ...],然后再调用GroupA的项目,然后再调用GroupB的项目,

1 个答案:

答案 0 :(得分:0)

当前无法将集合组限制为仅包含特定路径下的集合。所有集合组查询都会从所有具有指定名称的集合中获取文档。

因此,当前查询组子集的唯一方法是使用一种命名方案,使您可以唯一地解决它们。

另请参阅: