Firebase Firestore:规则过滤读取计数

问题描述 投票:1回答:2

如果我有10,000条记录,其中5条有我的电子邮件,并且我的规则是

allow read: if (resource.email == auth.token.email);

我每次直接阅读db.collection('x')都会得到5个文档的结果:

我会为510,000的读物收费吗?

firebase google-cloud-firestore firebase-security-rules
2个回答
2
投票

规则不限制读取的内容。只有代码中的查询才能做到这一点。

如果您的查询仅读取在email字段中具有您的电子邮件地址的5个文档,则将向这5个文档收费。


2
投票

您没有为未传输给客户的文件付费。如果您的查询返回X个文档,您将被收取X次阅读费用。安全规则不会改变这一事实。

您还应该注意security rules are not filters(请阅读并理解该链接)。来自网络或移动客户端的任何查询均为全部或全部。如果安全规则不只请求规则会满足的文档,它将拒绝对查询的访问。规则不会检查每个文档是否符合规则-根本无法缩放。您的查询需要包含与规则要检查的内容匹配的过滤器。

© www.soinside.com 2019 - 2024. All rights reserved.