node.js - 如果数据满足条件,Firestore 安全规则读取权限
问题描述
如何设置用户只能读取符合条件的数据的安全规则。例如,我有用户集合,并且启用的一些用户字段为真,而另一些则为假。我希望用户只阅读启用为 true 的文档。
这是我应用的安全规则,但我收到权限被拒绝错误。
service cloud.firestore {
match /databases/{database}/documents {
match /users/{user} {
allow read: if resource.data.enabled != false;
}
}
}
解决方案
Firestore 安全规则不是过滤器;查询限制应该与规则限制相匹配,因此,例如,对该规则的查询应该是这样的:
db.collection('users').where('enabled', '==', true).get().then(/*callback*/)
推荐阅读
- javascript - 如何在没有 javascript 的情况下使用 selenium.waitforvalue 命令?
- asp.net-core - 当 JsonConverter 无效时产生 400 BadRequest?
- javascript - 为什么在Node Js中创建编辑功能时值未定义
- android - Django rest框架不允许连接
- scala - 如何在 Spark 中将 Dataframe 的 String 列转换为 Struct
- sql-server - 数据 x 存在且数据 y 不存在于表的同一列
- flutter - 在 Flutter 中保存 IconData 并恢复
- azure - PowerBI 定时刷新
- html - 如何使图像在行中响应高度和宽度 - bootstrap 4
- qt - QML:更新嵌套的 ListView