I want to give a user the right to update a document. But ONLY if the user updates one specific field of this document. All other fields shouldn't be changed by this user.
Is this possible in firestore?
I tried something like this:
function isUpdateToOpenField(attr) {
return attr == get(/databases/$(database)/documents/stores/$(store)).data.open;
}
allow update: if isUpdateToOpenField(request.resource.data);
But I don't know how to compare if the update corresponds to the right field.
Update: writeFields
is no longer supported by Firestore and its functionality will eventually be removed. See this post.
Check out the writeFields
variable for security rules:
allow update: if ((request.writeFields.size() == 1) && ('open' in request.writeFields));
来源:https://stackoverflow.com/questions/49671227/allow-update-on-single-field-in-firestore