Firebase Firestore:筛选读取计数的规则



如果我有10000条记录,其中5条有我的电子邮件,我的规则是

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

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

我会因5次10000次

未传输到客户端的文档不收取任何费用。如果您的查询返回X个文档,您将收到X次读取的账单。安全规则不会改变这一事实。

您还应该意识到,安全规则不是过滤器(请阅读并理解该链接(。来自web或移动客户端的任何查询都是要么全有要么全无。如果查询不只请求符合规则要求的文档,则安全规则将拒绝访问该查询。规则不会检查每个文档是否符合规则——这根本不会扩展。您的查询需要包含一个与规则要检查的内容相匹配的筛选器。

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

如果您的查询仅读取email字段中包含您的电子邮件地址的5个文档,则将对这5个文档收取费用。

最新更新