首页 > 解决方案 > FirebaseRealtimeDatabase 上的增量操作如何工作?

问题描述

我正在查看 Firebase 文档,发现您可以使用以下行增加数据库中的数据:

Database.database().reference().child("Post").setValue([
         "number" : ServerValue.increment(10)
])

它还在文档中说“增量操作直接发生在数据库服务器上”,我不太明白这是什么意思。此操作与以下操作有什么区别:

// We have previously retrieved the value of number which we have stored in a variable
Database.database().reference().child("Post").setValue([
         "number" : numberOldValue + 10
])

标签: iosswiftfirebase-realtime-database

解决方案


而不是您从服务器获取值并执行将整数添加到另一个整数的小“原子”操作,increment您只需说出要在服务器上增加整数的值。它适用于服务器端,因此您完全无需担心获取当前值。如果它在您发送请求之前在一毫秒内发生变化,它会注意到这一点。

额外信息:它也比transaction. 在这里查看。


推荐阅读