我有一个字段,表示交易数量。一旦交易发生,我想通过1
递增它。我找不到任何直接执行此方法的方法。
一种方法是首先获取用户,然后使用接收到的值+ 1
更新字段,但这太长而且很慢。
谁能告诉我任何其他可行的方法?
Firestore现在有一个特定的运算符,称为FieldValue.increment()
。通过将此运算符应用于字段,该字段的值可以作为服务器上的单个操作递增(或递减)。
从incrementing a numeric value上的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
。
您应该编写一个侦听事务的云函数,然后增加索引。