首页 > 解决方案 > 如果数据满足条件,Firestore 安全规则读取权限

问题描述

如何设置用户只能读取符合条件的数据的安全规则。例如,我有用户集合,并且启用的一些用户字段为真,而另一些则为假。我希望用户只阅读启用为 true 的文档。

这是我应用的安全规则,但我收到权限被拒绝错误。

service cloud.firestore {
  match /databases/{database}/documents {


    match /users/{user} {
        allow read: if resource.data.enabled != false;

    }

  }
}

标签: node.jsfirebasefirebase-realtime-databasefirebase-authenticationgoogle-cloud-firestore

解决方案


Firestore 安全规则不是过滤器;查询限制应该与规则限制相匹配,因此,例如,对该规则的查询应该是这样的:

db.collection('users').where('enabled', '==', true).get().then(/*callback*/)

推荐阅读