firebase - Firebase 规则以特定子值为条件
问题描述
我写了这个规则:
"users": {
"$uid": {
".read": "$uid === auth.uid",
"username":{
".write": "data.val() == 'null'"
}
}
},
目标:只有当用户名的值为“null”时,用户才能更改他的用户名。不幸的是它不起作用(我也尝试过验证)。我写错了还是这不可能?
编辑:我的结构就像规则:
/rules
/id
/username
/email
/state
/...
firebase.database().ref("users/" + firebase.auth().currentUser.uid).update({ username: "test"})
→ FIREBASE 警告:在 /users/myid 更新失败:permission_denied
firebase.database().ref("users/" + firebase.auth().currentUser.uid+"/username").set("test")
→ FIREBASE 警告:设置在 /users/myid/username 失败:permission_denied
解决方案
推荐阅读
- docker - FROM...AS 在 Dockerfile 中没有按我的预期工作
- doctrine-orm - 如何更改创建实体的默认位置?(php bin/控制台制作:实体)
- timestamp - 如何在grafana中将字符串时间戳列转换为时间戳
- tensorflow - 在 tensorflow 或 keras 中通过标准 mobileNet、VGG-16 或 AlexNet 从头开始训练 cifar 日期集的图像大小问题
- android - Android 应用程序中 webRTC 通话期间的录音
- android - RecyclerView 展开/折叠太快
- c# - 使用浏览器浏览服务器上的本地文件夹。有点像使用 file://
- azure - 通过 Powershell 在 EA 门户中将服务主体激活为帐户所有者?
- r - 是否有一个 R 函数可以将其中带有随机字母的序列识别为唯一的?
- angular - 可观察对象在访问之前未完全初始化