在创建一些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 =缺少权限或原因,原因=空}