在我的Firestore中,我有一个名为admin
的布尔字段,用于我的用户集合中的用户文档。如果为true,则该用户可以读取其他用户帐户。但是我该如何在firestore.rules中访问该字段?
这是行不通的,但是可以使我理解我要做的事情
allow get: if request.auth.uid.data.admin == true
我在文档中看到的唯一数据是正在访问的资源。这意味着每个用户在其中引用的每个管理员都将拥有一个admins
数组,这将是维护噩梦
答案 0 :(得分:1)
听起来您正在尝试use data from another document than the one that is being read。如果您有一个/users
集合,并且每个用户的UID下都存储有一个文档,则:
allow get: if get(/databases/$(database)/documents/users/$(request.auth.uid)).data.admin == true
因此,这将获取用户的文档,然后检查其中是否有一个值为admin
的{{1}}字段。
答案 1 :(得分:1)
尝试
int
假设您将uid用作用户doc id,这不仅适用于用户(通过设置此功能的集合)