newData()用于删除

时间:2017-10-18 10:03:15

标签: firebase firebase-realtime-database firebase-security

我一直在试验以下安全规则,一开始工作正常,但在我尝试删除数据时卡住了。我从方案1开始,它允许我创建一个新条目,但不允许我删除条目。这是有道理的,因为newData()引用了写操作之后的条目,因此“blocker”的值不再存在。 场景1:

".write": "auth != null && !root.child('suspensions').child(newData.child('blocker').val()).hasChild(auth.uid)"

然后我尝试了第二种情况,其中data()和newData()都是选项。在这种情况下,即使是新数据的初始写入也被阻止。 场景2

".write": "auth != null && (!root.child('suspensions').child(data.child('blocker').val()).hasChild(auth.uid) || !root.child('suspensions').child(newData.child('blocker').val()).hasChild(auth.uid))"

我还尝试将各个子句放在他们自己的括号((!...) || (!...))中,但这没有用。因此出现了几个问题。为什么使用data()的extra子句在我使用OR时阻止写入新数据?我是否使用声音方法进行删除,同时使用data()和newData()?欢迎任何建议。

0 个答案:

没有答案