我有一个事件文档,其中包含标题,位置,容量,坐标等字段。我想设置安全规则以允许更新文档,但是如果用户尝试更改容量字段,该请求将被拒绝
那么如何编写这样的安全规则?我可以这样做吗?
service cloud.firestore {
function admin() {
return get(/databases/$(database)/documents/users/$(request.auth.uid)).data.admin == true
}
match /databases/{database}/documents {
match /events/{eventId} {
allow update: if // (allow if user not trying to update capacity field) ???
}
}
}
答案 0 :(得分:0)
将请求的文档更新内容与现有内容进行比较,以确保它没有更改:
allow update: if request.resource.data.capacity == resource.data.capacity;
request.resource是传入请求的文档。 resource是现有数据。