检查Firebase安全规则的子集合中是否存在项目

时间:2019-10-26 11:34:23

标签: firebase firebase-security

firebase安全规则模拟器出现问题,无法读取字段是否存在。我的结构如下,其中meta是团队的子集合,每个团队都在team集合中。

{
  "teams": {
    <TEAM_ID>" {
      "name": "Team One"
      "meta": {
        "users": [<SOME USER UID>],
        "admins": [<SOME UID>]
      }
    }
  }
}

基本上,我只希望它们在meta.users中存在用户ID时能够读取。

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /teams/{teamId} {
     allow read: if exists(/databases/$(database)/documents/teams/$(teamId)/meta/users/$(request.auth.uid))
   }
  }
}

但是上述规则返回以下错误。

  

运行模拟时出错-错误:simulator.rules第[5]行,第[21]列。找不到函数错误:名称:[exists]。

0 个答案:

没有答案