我想知道如何实现我的用户 具有以下字段:uid、朋友、通知、姓名、用户名。 目前,我的用户文件夹的安全规则如下所示
function signedIn() {
return request.auth.uid != null;
}
match /users/{user} {
allow read, update, write: if signedIn();
}
那么我该如何制定更新规则:“条件”, 这样只有朋友和通知是可更新的, 但不是用户名、用户名或名称。有什么想法吗?
答案 0 :(得分:1)
您正在寻找map diffs。
例如:
request.resource.data.diff(resource.data).affectedKeys()
.difference("username", "uid", "name"].toSet()).size() === 0;
或更短:
!request.resource.data.diff(resource.data).affectedKeys()
.hasAny("username", "uid", "name"];
另见: