我注意到使用Firebase规则,您可以使用$变量来获取对记录ID的引用,然后可以使用该ID下的验证。但是,我似乎无法使用它来限制基于id的记录删除,因为当删除记录时,此变量似乎未定义(不确定如何确认)。我猜测验证需要提高一步,但我似乎无法获得对ID的引用,除非我置于$变量之下。
一个例子:
"fruits": {
".read": true,
".write": true,
"$fruit": {
".validate": "root.child('fruitAccess/' + $fruit + '/' + auth.uid).exists() === true"
}
}
在这种情况下,有权访问水果的人可以更新并创建它,但是在我尝试的情况下无法删除它...它只是出现了#34;权限被拒绝"
感谢您的帮助:)
****编辑*** 我所遇到的问题的关键在于,当我删除记录时,我无法知道在规则集中是否有任何方法可以删除记录的ID或密钥。是否有一些方法来获取"数据"宾语? (与您可以在$参数中获取的newData对象相反,但在删除时为null)