firebase - 如何增加 Cloud Firestore 中的现有数字字段
问题描述
我有一个指示交易数量的字段。我想1
在交易发生后立即增加它。我找不到任何方法来直接执行它。
一种方法是先获取用户,然后使用接收到的值更新字段+ 1
,但这太冗长且太慢。
谁能告诉我任何其他可行的方法?
解决方案
Firestore 现在为此有一个特定的运算符,称为FieldValue.increment()
. 通过将此运算符应用于字段,该字段的值可以作为服务器上的单个操作增加(或减少)。
来自关于递增数值的 Firebase 文档:
var washingtonRef = db.collection('cities').doc('DC');
// Atomically increment the population of the city by 50.
washingtonRef.update({
population: firebase.firestore.FieldValue.increment(50)
});
因此,无论当前值是多少,此示例都会将总体增加 50。如果该字段尚不存在(或不是数字),则50
在这种情况下将其设置为。
如果要减少数字,请将负值传递给increment
函数。例如:firebase.firestore.FieldValue.increment(-50)
推荐阅读
- c# - Oxyplot - 编辑 LineSeries 中的左键单击标签
- performance - 使用 SIMD 会加载主 CPU 寄存器吗?
- python - 用opencv和python清理图像背景后如何正确提取字母?
- r - 要替换的项目数不是替换长度的倍数 + 同一图中的多个图错误
- acumatica - 通用查询作为主要列表/入口点
- c++ - 如何使一个类与其成员类型无关?
- javascript - 作为数组元素的常量值会产生错误
- java - 将大量文件上传到java app
- angular - 当从另一个服务调用服务时,Angular 6/Typescript HTTP 发布请求返回未定义
- python - redis / rq worker 在 python3 上中断