如何执行collectionGroup查询,但要获取子集合所在的文档。我的数据结构为:Users (collection) -> UID(doc) -> privateData (collection) -> UID (doc)
并且我想根据UID doc
中privateData collection
中的字段进行查询,但是我想要来自UID Doc
Users collection
的实际数据
答案 0 :(得分:1)
您不能像这样跨多个集合进行查询。如果要从其他子集合中获取数据,则您的集合组查询将需要定位到该其他子集合。这意味着您可能必须将privateData集合中的字段复制到Users集合中。在像Firestore这样的nosql数据库中,字段数据重复很常见。
如果您出于某种原因(例如隐私)无法复制该数据,则需要分别查询每个相关文档,从而有效地将每个用户文档加入privateData中的匹配文档。
答案 1 :(得分:0)
根据您的数据模型,您将必须对子对象中子集合的父文档有一个引用,或者获取该文档并使用文档快照,则可以调用其父引用
像这样的东西:querySnapshot.docs()[x].snapshot.getRef().getParent()