.remove()方法的Firebase安全规则

时间:2015-11-03 04:49:34

标签: firebase

我想在我的数据上限制.remove()方法 - 只允许作者/创建者能够删除节点。这可能吗?

我有标准用户树和一对数据树geoFire和一个命名细节。 '详细'具有包含时间戳和用户(与auth.uid匹配)等条目的节点。

2 个答案:

答案 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', '...'])" ,