如果我有10,000条记录,其中5条有我的电子邮件,并且我的规则是
allow read: if (resource.email == auth.token.email);
每次我直接阅读db.collection('x')
时,我都会得到5个文档的结果:
我会为 5 或 10,000 的读物收费吗?
答案 0 :(得分:2)
规则不限制读取的内容。只有代码中的查询才能做到这一点。
如果您的查询仅读取在其email
字段中具有您的电子邮件地址的5个文档,则将向您收取这5个文档的费用。
答案 1 :(得分:2)
对于未传输给客户端的文档,您无需付费。如果您的查询返回X个文档,您将被收取X次阅读费用。安全规则不会改变这一事实。
您还应该注意security rules are not filters(请阅读并理解该链接)。来自网络或移动客户端的任何查询都是全部或全部。如果安全规则不只请求规则会满足的文档,它将拒绝对查询的访问。规则不会检查每个文档是否符合规则-根本无法缩放。您的查询需要包含与规则要检查的内容匹配的过滤器。