【问题标题】:How to set this particular firebase firestore rule如何设置这个特定的 firebase firestore 规则
【发布时间】:2019-11-03 15:21:30
【问题描述】:

我有这个 Firestore 规则: 我有很多用户。每个用户都有一个“角色”值。 我希望 /users 中的所有文档对每个角色 == 3 的用户都是可读写的。

我试过了:

match /users{
        allow read,write: if get(databases/$(database)/users/$(request.auth.uid).role) == 3
    }

但它不起作用。不知道怎么设置

【问题讨论】:

    标签: database firebase google-cloud-firestore firebase-security


    【解决方案1】:

    您的规则需要匹配文档。如果要将相同的规则应用于集合中的所有文档,则需要在匹配项中添加通配符。注意{uid} 通配符:

    match /users/{uid} {
      allow read,write: if get(databases/$(database)/users/$(request.auth.uid)).data.role == 3;
    }
    

    【讨论】:

    • 不匹配的输入 '$' 期望 {'{', '/', PATH_SEGMENT}
    • 您还把括号放在了错误的位置、缺少data 属性和缺少分号
    • 那应该怎么做呢?
    • 仍然遇到同样的错误。我可能必须指定数据库不是实时的,而是firestore。
    猜你喜欢
    • 1970-01-01
    • 2020-10-03
    • 2019-10-17
    • 2019-06-03
    • 1970-01-01
    • 2019-03-12
    • 2017-06-15
    • 2020-10-10
    • 2021-08-23
    相关资源
    最近更新 更多