希望创建一个仅允许文档所有者更新它或其他用户仅更新某些字段的 Firestore 规则。
这是我的规则
match /users/{userID} {
allow update: if request.auth.uid == userID || (request.auth.uid != null && request.resource.data.keys().hasOnly(["field1","field2"]));
}
它返回 Permission Denied On
await _db.collection("users").doc(userID).update({
"field1": field1,
"field2": field2,
});
答案 0 :(得分:3)
请看一下这段代码。它只允许其他人修改字段 bar
和 foo
function isOwner() {
return request.auth != null && request.auth.uid == userId;
}
allow update: if isOwner() || resource.data.diff(request.resource.data).affectedKeys().hasOnly(["bar", "foo"]);