在下面的屏幕截图中,我的details
分支/节点包含许多以random-id命名的详细信息。如示例所示,8641260c-900...
是一个详细记录,还有其他几个类似记录。
我想知道我的.write
规则是否正确?我想启用限制,以便当前auth.id
与现有记录{{1}完全匹配} field。
我还想限制删除记录(通过user
)
我可以简单地将.remove
添加到&& !data.exists() || newData.exists()
规则吗?
提前致谢。
答案 0 :(得分:1)
我想知道我的.write规则是否正确?
首先,将".read":true
和".write":true
提供给根目录会将所有子节点规则覆盖为true
。因此,为子节点指定的任何规则都将变得多余。
我想启用限制,以便当前auth.id与现有记录的用户字段完全匹配。
{"rules":{
"existing_record":{
"user":{
".write":"newData.isString() && auth.uid == newData.val()"
}
}
}}
我还想限制删除记录(通过.remove)。
newData.exists()
将阻止删除节点。 newData 表示操作发生后数据的外观。因此,通过确保操作后存在 newData ,禁止删除节点。