Firebase 如何允许用户编写新内容但不更新/删除现有内容

Firebase 如何允许用户编写新内容但不更新/删除现有内容,firebase,firebase-security,Firebase,Firebase Security,因此,我有一个应用程序,允许匿名用户写入但不读取特定路径。他们将数据发布到一个有节制的留言板上 但根据我目前的安全规则,它们也可以覆盖现有数据。我怎样才能不允许更新,只允许新的帖子呢 我当前的安全规则: { "rules": { ".read": "auth != null", ".write": "auth != null", "inbox" : { ".write": true, }, "moderated" : { ".

因此,我有一个应用程序,允许匿名用户写入但不读取特定路径。他们将数据发布到一个有节制的留言板上

但根据我目前的安全规则,它们也可以覆盖现有数据。我怎样才能不允许更新,只允许新的帖子呢

我当前的安全规则:

{
  "rules": {
     ".read": "auth != null",
     ".write": "auth != null",
    "inbox" : {
     ".write": true,
    },
    "moderated" : {
      ".read": true,
    },
  }
}
使用
data.exists()
确定他们试图写入的对象是否已经存在:

{
“规则”:{
“.read”:“auth!=null”,
“.write”:“auth!=null”,
“收件箱”:{
“$post”:{
“.write”:“!data.exists()”,
}
},
“缓和”:{
“.read”:正确,
},
}
}

Thanx为您的回复,请点击此处关闭。。所以我会用正确的答案编辑你的答案。。只有当收件箱是空的时,你才能工作,因为“数据”的意思是“收件箱”。所以我必须添加一个“$post”:级别并在那里检查以获得我想要的。Firebase规则不是层叠的吗?我认为这实际上不起作用,因为最上面的
“.read”
才有效。