首页 > 解决方案 > 如何增加 Cloud Firestore 中的现有数字字段

问题描述

我有一个指示交易数量的字段。我想1在交易发生后立即增加它。我找不到任何方法来直接执行它。

一种方法是先获取用户,然后使用接收到的值更新字段+ 1,但这太冗长且太慢。

谁能告诉我任何其他可行的方法?

标签: firebasegoogle-cloud-firestore

解决方案


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)


推荐阅读