我在我正在构建的应用程序中使用云功能,并且想要一些建议如何最好地解决这个问题。
我的功能看起来像这样
exports.deductFromBalance = functions.database.ref('listings{listing}').onCreate((snap, context) => {
const author = snap.val().uid;
return admin.database().ref(`balances/${snap.val().uid}`).update({
balance: //current balance -= 1
})
})
每次成功创建列表时,我需要一种方法将余额减少一。有没有办法让我减少这个值而不必读取当前值?
Firebase实时数据库中没有原子递增/递减操作。您需要use a transaction以原子方式基于当前值设置新值。