Swift Firestore 更新字段值
Posted
技术标签:
【中文标题】Swift Firestore 更新字段值【英文标题】:Swift Firestore Update Field values 【发布时间】:2018-12-28 08:09:36 【问题描述】:在 Firestore 中,我们添加了多个字段,但未指定 documentID(自动 ID)。我需要更新特定的字段值,例如:
-
我的收藏中有人员详细信息列表,其中包含姓名、年龄和性别
我需要更新 name = kavin 的特定字段值
这是我尝试过的代码
self.DBRef.collection("users").whereField("name", isEqualTo: "kavin")
如何更新该字段值
【问题讨论】:
【参考方案1】:您的问题不清楚您是否希望该名称是唯一的,或者是否有许多用户名为 “kavin”。
但是假设用户名是唯一的,你可以这样解决
self.DBRef.collection("users")
.whereField("name", isEqualTo: "kavin")
.getDocuments() (querySnapshot, err) in
if let err = err
// Some error occured
else if querySnapshot!.documents.count != 1
// Perhaps this is an error for you?
else
let document = querySnapshot!.documents.first
document.reference.updateData([
"age": 99
])
您必须创建an asynchronous query,这将返回一个QuerySnapshot,其结果是一个文档数组。生成的查询在您的文档中没有任何“唯一”字段的概念。因此,当名称应该是唯一的时,如果您得到多个结果,您必须处理其含义的逻辑。
检索到查询结果后,您可以使用所需的reference 属性和update the fields 直接访问对该文档的引用。
【讨论】:
以上是关于Swift Firestore 更新字段值的主要内容,如果未能解决你的问题,请参考以下文章