Firestore安全规则:使用request.resource.data .__ field__!= resource.data .__ field__?的成本

时间:2018-12-20 04:50:11

标签: firebase google-cloud-firestore

拥有这样的Firestore安全性是否很昂贵(即,大约有多少次阅读以及我们以$收取了多少费用)?

 match /profiles/{document=**} {
   allow create: if request.auth.uid != null
   && (request.resource.data.firstName is string && resource.data.firstName != request.resource.data.firstName)
   && (request.resource.data.lastName is string && resource.data.firstName != request.resource.data.firstName)
  && (request.resource.data.username is string && resource.data.username != request.resource.data.username)
  && (request.resource.data.email is string && resource.data.email != request.resource.data.email)
}

1 个答案:

答案 0 :(得分:1)

根据documentation,您需要按照安全规则中的get()和exist()请求付费:

  

使用get()和exist()函数,您的安全规则可以   根据数据库中的其他文档评估传入的请求。

续:

  

使用这些功能将在数据库中执行读取操作,   这意味着即使您   规则拒绝该请求。有关更多信息,请参阅Cloud Firestore定价。   具体的帐单信息。

因此,如果您的规则不使用get()或exist(),则您没有与该规则相关联的其他帐单。看来您在这里没有使用这两个功能,所以我预计不会再有其他计费。