Firebase 用于从用户余额中扣除值的云函数

Firebase 用于从用户余额中扣除值的云函数,firebase,firebase-realtime-database,google-cloud-platform,google-cloud-functions,Firebase,Firebase Realtime Database,Google Cloud Platform,Google Cloud Functions,我正在构建一个应用程序,其中大量使用了云功能,我想知道如何最好地解决这个问题 我的函数如下所示 exports.deductFromBalance=functions.database.ref('listings{listing}').onCreate((快照,上下文)=>{ const author=snap.val().uid; 返回admin.database().ref(`balances/${snap.val().uid}`)。更新({ 余额://当前余额-=1 }) }) 我需要一

我正在构建一个应用程序,其中大量使用了云功能,我想知道如何最好地解决这个问题

我的函数如下所示

exports.deductFromBalance=functions.database.ref('listings{listing}').onCreate((快照,上下文)=>{ const author=snap.val().uid; 返回admin.database().ref(`balances/${snap.val().uid}`)。更新({ 余额://当前余额-=1 }) })
我需要一种方法,每次成功创建一个列表时,将余额减少一个。我有没有办法在不读取当前值的情况下减少此值?

Firebase实时数据库中没有原子递增/递减操作。您需要根据当前值以原子方式设置新值。

Firebase实时数据库中没有原子递增/递减操作。您需要根据当前值自动设置新值。

nope。您需要一个SQL server来执行此操作。读取值有什么问题?老实说,没有什么问题,我只是确保不进行任何不必要的读取,以确保应用程序尽快运行。感谢您的回复,如果您发布答案,我将为您标记!使用事务甚至更好,例如在同时写入的情况下。否。您需要一个SQL server来执行此操作。读取值有什么问题?老实说,没有什么问题,我只是确保不进行任何不必要的读取,以确保应用程序尽快运行。感谢您的回复,如果您发布答案,我将为您标记!使用事务甚至更好,例如,在同时写入的情况下。谢谢弗兰克,这太棒了!谢谢你,弗兰克,这太棒了!