ios - 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
])
解决方案
而不是您从服务器获取值并执行将整数添加到另一个整数的小“原子”操作,increment
您只需说出要在服务器上增加整数的值。它适用于服务器端,因此您完全无需担心获取当前值。如果它在您发送请求之前在一毫秒内发生变化,它会注意到这一点。
额外信息:它也比transaction
. 在这里查看。
推荐阅读
- python - 如何注释可选的类变量
- node.js - react-native init 挂在 macOS Catalina 上,使用 fetchMetadata: sill resolveWithNewModule react-native@0.64.2 检查可安装状态
- python - 来自多行/列 csv 的数据类
- javascript - 如何在 Jest 中使用 unmockedModulePathPatterns 和 automock 设置为 true?
- image - 如何处理在 Javascript 中单击按钮时生成随机图像的函数
- prometheus - InfluxQL 查询以计算 Grafana 中的 CPU 使用率百分比
- python - Structlog:如何测试哪个处理程序发出了什么
- node.js - 使用 Socket.io 从 NodeJS 获取数据到 Dart/Flutter
- java - 递归问题缺少乘法
- ruby-on-rails - 跳过特定控件内的验证