我正在尝试编写规则来保护数据库。但是我对编写阻止从数据库中删除任何节点的规则感到困惑。我已阅读关于 newData.exists
但是当我尝试在模拟器中运行它时,删除成功了!由于可以通过将节点的值设置为空来删除节点,因此我尝试将节点的值模拟为空并成功,这是不希望的。
假设我有这个节点:
root{
Number of Users:20
}
我写了这些规则:
"Number of Users":{
".read":true,
".write":"auth!==null && newData.exists()"
}
我有没有弄错,请纠正我。
最佳答案
允许添加新节点,但防止删除或覆盖任何节点:
".write": "!data.exists()"
要允许添加和覆盖但不允许删除任何节点:
".write": "newData.exists()"
更新:这些规则的模拟器截图
关于firebase-realtime-database - 如何编写规则以防止从数据库中删除任何节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41919866/