ios - 更新 Firestore 数据库中文档的字段
问题描述
我是一名 iOS 应用程序开发人员。现在,当用户点击按钮时,我需要我的应用程序更新他/她在数据库(Firestore)中的分数。
我只知道可以根据官方文档向数据库添加新文档:https ://firebase.google.com/docs/firestore/quickstart#swift 。但是我可以一次简单地更新一个文档中的一个键值对吗?
例如,如果他/她单击正确的按钮,我必须为 ID 为 1234 的用户添加 10 分。所以首先,我需要根据唯一ID读取数据,并抓住他/她的当前积分。然后放回积分加10。
看起来 Firestorage 只允许用户一次上传整个文档。
感谢 Swift 代码片段!
解决方案
您可以通过调用更新文档中的单个或多个字段。updateData
要以原子方式递增数值,您可以使用该FieldValue.increment
操作。这个例子来自最后一个链接:
washingtonRef.updateData([
"population": FieldValue.increment(Int64(50))
])
此代码population
将文档中的字段增加 50,而文档中的其他字段保持不变。
推荐阅读
- python - 使 Django-haystack 自动完成建议适用于重音查询(à、é、ï 等)
- ruby-on-rails - 数组 csv 导出的未定义方法
- spring-boot - WebClient 未成功调用“POST”操作
- python - contourf matplotlib 中的 levels 参数是什么意思?
- php - 用php显示表单信息的问题
- java - 我是否可以在 java 中为 Android 应用程序 xml 布局设置“setContentView”?
- rust - Rc 和有什么不一样
> 和 RefCell >? - go - 如何使用 bulkDelete 实现多次删除
- java - 如何将 arrayList 2D 添加到 Object[][] 已经存在?
- scala - 如何将案例类转换为字符串