在 Firestore 中我有 2 个集合
用户集合和时期集合。我需要为我的期间集合制定一条规则:只能由创建该期间的用户读取和写入。
这是我尝试过的,但没有成功
service cloud.firestore {
match /databases/{database}/documents {
function userDoc() {
return /databases/$(database)/documents/users/$(request.auth.uid);
}
match /users/{userId} {
allow read: if true;
allow create, update: if request.auth.uid == userId;
}
match /periods/{id} {
allow read : if userDoc() == request.resource.data.user;
allow write : if userDoc() == request.resource.data.user;
}
}
}
最佳答案
替换
if userDoc() == request.resource.data.user
与
if userDoc() == request.resource.data.user_id
除此之外,您的安全规则对我来说看起来是正确的。
关于firebase - FireStore规则: Read/Write user own document,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68235261/