Firebase数据库规则:如何使字段只读?

时间:2018-03-13 00:41:45

标签: json firebase firebase-realtime-database firebase-security firebase-security-rules

我想让用户能够在我的数据库中创建一些JSON数据,但是限制了将来编辑它的能力。我该怎么写我的规则?

"users": {
    // ".write": "auth != null",
    "$userUid": {
        ".read": "auth != null && $userUid === auth.uid",
    }
}

1 个答案:

答案 0 :(得分:1)

要制作只读内容,只需不要授予其写入权限。

要创建仅限创建的内容,只允许在没有现有数据的情况下编写它:

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

然后还要使用户只能在自己的节点下编写:

"$uid": {
  ".write": "!data.exists() && auth.uid === $uid"
}

要创建或删除某些内容,允许在没有数据时写入值,在有数据时不写入任何值:

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