javascript - Firebase Firestore 仅允许用户在有过滤器的情况下查询集合
问题描述
我正在尝试创建一个 Firestore 规则,该规则只允许用户列出他们正在过滤字段的集合中的文档。
// would fail:
db.collection('documents').get();
// would succeed:
db.collection('documents').where('fieldId', '==', 123456).get();
有没有办法通过 Firestore 规则来实现这一点?
解决方案
我能想到的唯一方法是使用基于查询的规则。
像这样的东西:
allow read: if resource.fieldId.published == 123456;
但我不认为有办法只要求他们过滤fieldId
,无论价值是什么。
有趣的是,这可以通过实时数据库安全规则实现,它有一个单独的query.orderByChild
.
我认为这听起来像是一个合理的功能,所以我建议你提交一个功能请求。它现在或任何附近的功能都对您没有帮助,但是...谁知道呢。
推荐阅读
- visual-studio-code - 空手道,VScode:“运行空手道测试”codelens 未显示
- ios - iOS 中 varispeed 与 RemoteIO 的连接
- c# - 如何在 linux ubuntu 服务器(18.06)中执行 .exe 文件
- java - 我如何将文件读取为字节然后在java(android)中将其编码为base64
- regex - 找到一个字符和一个新行,并将它们保留在前一行在 VBA 中
- php - Laravel根据相同的ID删除关系表中的记录
- python - Pandas:根据另一列的键在现有列上映射字典值以替换 NaN
- python - 在 virtualenv pip 全局安装和 pip3 本地安装
- extjs - 我是否必须在现代和经典工具包的 ExtJS 通用应用程序中复制视图?
- python-3.x - 如何在两个相同的csv文件之间仅获取pandas中的匹配列值