尝试使Firestore安全规则和查询彼此同步以获取HashMap

时间:2019-03-03 19:37:41

标签: firebase nosql google-cloud-firestore firebase-security-rules

在创建一些Firestore安全规则以使用代码中的查询时,我需要帮助。因此,我尝试如下使用HashMap,“ sharedWith”是文档中的hashmap字段:

...
  sharedWith
        abc@gmail.com : true
        zzz@gmail.com : true     
...

我尝试设置以下安全规则:

allow read: if isSignedIn() && resource.data.sharedWith[request.auth.token.email]=="true"

我期望发生的是当用户“ zzz”登录时,该用户应该能够阅读此文档(由其他用户创建)

我的查询如下:

db.collection("Sites")
        .whereEqualTo("sharedWith."+"zzz.@gmail.com",true)
        .get()
        .addOnSuccessListener { result -> ...

请问我哪里出问题了?

我遇到的错误如下:

  

收听查询(共享对象的站点。zzz@gmail。com ==按名称的真实顺序)失败:状态{code = PERMISSION_DENIED,description =缺少权限或原因,原因=空}

0 个答案:

没有答案