我想在我的数据上限制.remove()方法 - 只允许作者/创建者能够删除节点。这可能吗?
我有标准用户树和一对数据树geoFire和一个命名细节。 '详细'具有包含时间戳和用户(与auth.uid匹配)等条目的节点。
答案 0 :(得分:7)
Firebase中的移除意味着您不会将/空数据写入当前包含数据的位置:
".write": "!data.exists() || newData.exists()"
快速表以确保我得到所有这些:
data. newData.
exists() exists() .write
--------+---------+--------
false false true
false true true
true false false
true true true
答案 1 :(得分:0)
您需要data.exists()
规则添加验证方法,否则添加节点会失败:
即。请注意删除:
db.ref('path/to/node/' + user).remove()
规则:
".write": "auth != null",
// Delete or Add
".validate": "data.exists() || (newData.hasChildren(['child1', 'child2', '...'])" ,