【发布时间】:2019-10-28 20:40:36
【问题描述】:
组有成员(用户列表),我想查询并找到特定用户的所有组。我发现 collectionGroup 查询应该是解决方案,这是我的查询代码。
let db = Firestore.firestore()
let ref = db.collectionGroup("members").whereField("id", isEqualTo: userID)
ref.getDocuments(completion: { (snapshot, error) in
guard let snapshot = snapshot else { return }
print(snapshot.documents.count) --> Always 0
})
并且还更新了安全规则(应用程序尚未公开,因此规则只是占位符)。
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write;
}
match /{path=**}/members/{doc} {
allow read, write;
}
}
}
需要帮助了解为什么(并修复)查询总是返回空结果,当数据库清楚地有一个包含具有匹配用户 ID 的成员的组时。
【问题讨论】:
-
请再次参考文档,collectionGroup 的用例与您尝试实现的方式不同。顾名思义,它查询 ref 应该有“集合”分组
标签: ios swift firebase google-cloud-firestore