Google cloud firestore 使用exist()的云firestore规则是否算作读取?

Google cloud firestore 使用exist()的云firestore规则是否算作读取?,google-cloud-firestore,firebase-security,Google Cloud Firestore,Firebase Security,我正在存储被阻止用户的文档集合。 我通过检查被阻止的收集中是否存在电子邮件来检查请求是否来自被阻止的用户 allow read: if exists(/databases/$(database)/documents/blocked/$(request.auth.token.email)) == false; 检查文档是否存在是否算作已读?是,exists()算作对账单的已读。它们也会计入。那么exits()不算作已读,它是在已经使用get()读取的文档上调用的,一旦读取了文档,您可以随时调用e

我正在存储被阻止用户的文档集合。 我通过检查被阻止的收集中是否存在电子邮件来检查请求是否来自被阻止的用户

allow read: if exists(/databases/$(database)/documents/blocked/$(request.auth.token.email)) == false;

检查文档是否存在是否算作已读?

是,
exists()
算作对账单的已读。它们也会计入。

那么
exits()
不算作已读,它是在已经使用
get()
读取的文档上调用的,一旦读取了文档,您可以随时调用
exits()
,而无需重新读取如果我使用get(),但文档不存在该怎么办。这也算是一次读取吗?是的,所有查询至少需要一次读取。你需要为收藏的索引付费,这可能是一笔巨大的费用。这意味着每次点击规则时,检查被阻止的用户都需要额外的阅读。这是戈纳在阅读。存储被阻止的用户并确保他们没有访问权限的最佳方式是什么?因为如果我检查这个人是否每读一次都被阻止了,那会使读数加倍。如果你想要动态的东西,那就别无选择。你必须为阅读付费。嗯,我想使用自定义声明。那不算读书,对吗?