3

我正在努力理解如何允许用户在列表中创建新记录,但只允许创建者更新他们自己的帖子。

例如以下结构:

post {
    post1: {
        author: "user1"
        text: "Some text"
    }
    post2: {
        author: "user2"
        text: "Some text 2"
    }
}

在这里,我希望两个用户都能够创建新帖子。但也要保护 post2 不被 user1 编辑。因此,只有 user1 可以编辑 post1,只有 user2 可以编辑 post2。

4

1 回答 1

11

你想做这样的事情:

{"rules": {
  "post": {
    "$id": {
      ".write": "auth !== null && (!data.exists() || data.child('author').val() === auth.uid)"
    }
  }
}}

在这里,您仅在用户已登录并且 a) 尝试写入的节点为空或 b) 尝试写入的节点由当前用户创作时才允许写入。

于 2017-01-18T21:34:57.007 回答