firebase - 如果我在 Firestore 安全规则中使用 resource.data 评估价值,我会被收费吗?
问题描述
来自此处有关 Firestore 定价的视频:https ://www.youtube.com/watch?v=6NegFl9p_sE 据说如果我在安全规则中使用 get() 或 exists() ,我将被收取一次阅读费用。
如何使用评估现有文档的字段resource.data
?例如,如果我评估一个文档中的 4 个字段,如下所示:
function isValidUserUpdate() {
// to restrict, certain user fields can't be updated
return incomingData().banned == existingData().banned
&& incomingData().uid == existingData().uid
&& incomingData().premiumUser == existingData().premiumUser
&& incomingData().verified == existingData().verified
}
function existingData() {
// Data that exists on the Firestore document
return resource.data;
}
function incomingData() {
// Data that is sent to a Firestore document
return request.resource.data;
}
将收取 4 次阅读或仅 1 次的费用?
解决方案
正如文档所述,您只需支付 getget()
和的费用。exists()
您无需为request.resource.data
.
推荐阅读
- python - PyQt5:ImportError:没有名为 sip 的模块
- aws-lambda - Kinesis 以小批量触发 lambda
- python - 在 Apache Airflow 中运行超过 32 个并发任务
- c# - 使用 WIX 安装程序安装 .NET Framework 4.7.2(如果需要)
- reactjs - 使用材料 UI 使用 react-testing-library 时出现问题
- python - WCS.all_pix2world:读入整个FITS字段的经纬度
- python - 从元组导入模块(这是一个坏主意吗?)
- c++ - 如何使用GDAL计算C++中给定矩形内具有特定值的光栅像素?
- apache - 如何将端口 80 上的所有请求重定向到 docker,然后将其传递给我的 Web 服务器?
- sql - 如何将 Report Builder 中的参数传递给 Firebird 数据库?