我有一个收藏品,让我们说它叫rooms。在房间里,我有它的名称,它的散列密码,“成员”,子集合,它看起来如下所示:
rooms: {
room1Uid: {
name: "room name",
password: "hashed password",
members: {
member1Uid: { joindate: "timestamp"},
member2Uid: { joindate: "timestamp"},
...
},
resource1: {
something: "...",
},
resource2: {
something: "...",
}
},
room2Uid: {...}
}我希望只有经过身份验证的用户才能读取和写入roomUid中包含在成员列表中的任何内容。
例如,request.auth.uid == member1Uid可以从room1Uid下读取resource1。
发布于 2020-01-24 14:30:14
使用存在(),下面给出的示例代码
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /rooms/room1Uid/{document=**} {
allow read, write: if exists(/databases/$(database)/documents/rooms/room1Uid/members/$(request.auth.uid))
}
}
}试试这个,让我知道,它是否起作用?
https://stackoverflow.com/questions/59895161
复制相似问题