如何增加Cloud Firestore中的现有数字字段

San*_*dan 8 firebase google-cloud-firestore

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

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

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

Fra*_*len 9

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)
});
Run Code Online (Sandbox Code Playgroud)

因此,无论当前值是多少,此示例都会使总体增加50。如果该字段尚不存在(或不是数字),则50在这种情况下将其设置为。

  • 值得注意的是,减量也是通过增量处理的:“firebase.firestore.FieldValue.increment(-1)”会将值减 1。 (8认同)
  • 赫曼特。我更新了答案,然后重新打开了问题-因为我不知道为什么对有关实时数据库的问题将其关闭。 (2认同)