防止更新或删除现有节点的firebase安全规则
例如,如果我创建了一个节点(书),其中有一个子节点(作者)的值为(“作者名称”)。我想要的是,将来没有人可以更新或删除这个子节点。我知道使用firebase安全规则是可能的,但我无法找到最佳方法 您可以编写一个数据库规则,只允许创建新数据,而不允许在写入后编辑任何内容 如果防止更新或删除现有节点的firebase安全规则,firebase,firebase-realtime-database,firebase-security,Firebase,Firebase Realtime Database,Firebase Security,例如,如果我创建了一个节点(书),其中有一个子节点(作者)的值为(“作者名称”)。我想要的是,将来没有人可以更新或删除这个子节点。我知道使用firebase安全规则是可能的,但我无法找到最佳方法 您可以编写一个数据库规则,只允许创建新数据,而不允许在写入后编辑任何内容 如果$key位置没有数据,则可以创建一本新的书籍。它还确保newData存在,并且author是string变量 { "rules": { "book": { "$key": { "auth
$key
位置没有数据,则可以创建一本新的书籍。它还确保newData
存在,并且author
是string
变量
{
"rules": {
"book": {
"$key": {
"author": {
".validate": "newData.isString()"
},
".write": "data.val() == null && newData.val() != null"
}
}
}
}
这可以确保数据不会被删除,但不会强制执行数据不能更改。为此,添加newData.val()===data.val()
。不应data.val()===null
强制执行创建
只写,它不允许更新
或删除
?嗯。。。这是一个很好的观点。它可能是这样的,所以我不确定为什么要使用另一个条件。好。。。这两种方法都可能有效。我使用Firebase Bolt,它将create呈现为”。write:“data.val()==null”
,所以它可能更简单?这三种解决方案都能奏效!啊。。。那是“写一次”。美好的