首页 > 解决方案 > 更新 Firestore 数据库中文档的字段

问题描述

我是一名 iOS 应用程序开发人员。现在,当用户点击按钮时,我需要我的应用程序更新他/她在数据库(Firestore)中的分数。

我只知道可以根据官方文档向数据库添加新文档:https ://firebase.google.com/docs/firestore/quickstart#swift 。但是我可以一次简单地更新一个文档中的一个键值对吗?

例如,如果他/她单击正确的按钮,我必须为 ID 为 1234 的用户添加 10 分。所以首先,我需要根据唯一ID读取数据,并抓住他/她的当前积分。然后放回积分加10。

看起来 Firestorage 只允许用户一次上传整个文档。

感谢 Swift 代码片段!

标签: iosswiftfirebasegoogle-cloud-firestore

解决方案


您可以通过调用更新文档中的单个或多个字段。updateData

要以原子方式递增数值,您可以使用该FieldValue.increment操作。这个例子来自最后一个链接:

washingtonRef.updateData([
    "population": FieldValue.increment(Int64(50))
])

此代码population将文档中的字段增加 50,而文档中的其他字段保持不变。


推荐阅读