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

Firebase Security Rules for .remove () method

我想在我的数据上限制 .remove() 方法 - 只允许 author/creator .remove 节点的能力。这可能吗?

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

Firebase 中的删除意味着您正在将 no/empty 数据写入当前包含数据的位置:

".write": "!data.exists() || newData.exists()"

快速table以确保我得到所有这些:

data.     newData.
exists()  exists()  .write
--------+---------+--------
false     false     true
false     true      true
true      false     false
true      true      true

你需要data.exists()规则来添加验证方法,否则添加节点会失败:

即注意删除:

db.ref('path/to/node/' + user).remove()

规则:

".write": "auth != null",

// Delete or Add
".validate": "data.exists() || (newData.hasChildren(['child1', 'child2', '...'])" ,