更新 Firestore 数据库中文档的字段
Posted
技术标签:
【中文标题】更新 Firestore 数据库中文档的字段【英文标题】:Update a field of a document in Firestore database 【发布时间】:2021-04-22 02:29:14 【问题描述】:我是一名 ios 应用程序开发人员。现在,当用户点击按钮时,我需要我的应用程序更新他/她在数据库 (Firestore) 中的分数。
我只知道可以根据官方文档:https://firebase.google.com/docs/firestore/quickstart#swift向数据库添加新文档。但是我可以一次只更新一个文档中的一个键值对吗?
例如,如果他/她单击正确的按钮,我必须为 ID 为 1234 的用户添加 10 分。所以首先,我需要根据唯一ID读取数据,并抓住他/她的当前积分。然后把积分加10放回去。
Firestorage 似乎只允许用户一次上传整个文档。
感谢 Swift 代码 sn-p!
【问题讨论】:
【参考方案1】:您可以通过updateData
呼叫update a single or multiple fields in a document。
到atomically increment a numeric value可以使用FieldValue.increment
操作。这个例子来自最后一个链接:
washingtonRef.updateData([
"population": FieldValue.increment(Int64(50))
])
此代码将文档中的 population
字段增加 50,而文档中的其他字段保持不变。
【讨论】:
以上是关于更新 Firestore 数据库中文档的字段的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法使用Firestore安全规则使用FieldValue.increment()更新文档字段?