防止从Firebase数据库中删除现有数据

时间:2019-02-02 20:02:11

标签: firebase firebase-realtime-database

我想允许读写,但不能删除现有节点。 这些是我的规则,但仍然允许删除(更新)

"messages_test": {
    ".read": "true",
    ".write": "true",
    "$message": {
        ".write": "false",
    }
},

firebase

这是我移除节点的方式(成功,但是我应该获得拒绝权限)

    firebase.database().ref('messages_test').child(id).remove()
        .catch(error => console.log(error.message));

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

我想我找到了方法。限制对现有数据的写入

"messages_test": {
    ".read": "true",
    "$message": {
      ".write": "!data.exists() && newData.exists()",
    }
},

答案 1 :(得分:0)

"messages_test": {
    ".read": "true",
    "$message": {
      ".write": "newData.exists()",
    }
},