【发布时间】:2018-03-17 23:04:31
【问题描述】:
我是 Firestore 规则的新手。我想要的只是检查对象中是否存在用户 ID。我像这样使用FirestoreRecyclerAdapter 读取数据(查询):
Query query = FirebaseFirestore.getInstance()
.collection(EVENTS_INFO)
.whereEqualTo("users." + user.getUid(), true);
Firebase 控制台中的结构如下所示(屏幕截图):
此处的 Firestore 规则:
service cloud.firestore {
match /databases/{database}/documents {
function isSignedIn() {
return request.auth.uid != null;
}
match /events/{event} {
function isUser() {
return isSignedIn() && resourse.data.users[request.auth.uid] == true;
}
allow read: if isUser();
}
}
由于没有模拟器,我无法快速解决问题。 allow read: if true 按需要工作。有什么线索吗?
【问题讨论】:
-
根据您发布的规则,我们无法看到这些规则适用于何处(哪个集合或文档)。如果您发布完整的规则,我们可能会更容易提供帮助
-
请同时发布您用于读取数据的代码
标签: firebase google-cloud-firestore firebase-security