Firebase 错误保存规则 - 第 10 行:字符串不能包含“.”、“#”、“$”、“/”、“[”或“]”

Firebase error saving rules - Line 10: String can't contain ".", "#", "$", "/", "[", or "]"

我遵循指南 (https://firebase.google.com/docs/rules/insecure-rules#database) 并尝试更改规则。 But I have an error

谁能解释一下哪里出了问题?

您收到的错误是由于文档中的某些不一致导致的 - / 字符是不允许的。通过将其更改为嵌套路径,我设法发布了一组类似的规则。

{
  "rules": {
    "Users": {
      "$uid": { 
        ".read": true,
        ".write": "auth.uid == $uid"
      }
    }
  }
}

注意:我假设您使用的是 Firebase 实时数据库。如果您使用的是 Firestore,请使用 request.auth.id 而不是

我写信给支持人员,他们告诉我他们的文档中有一个错误。正确答案是:

{
  "rules": {
    "Users" :{
      "$uid": {
        ".read": true,
        ".write": "auth.uid == $uid"
      }
    }
  }
}