Kav*_*gam 1 ios firebase swift4 google-cloud-firestore
在 firestore 中,我们添加了多个字段,但没有指定 documentID(自动 ID)。我需要更新特定的字段值,例如:
这是我尝试过的代码
self.DBRef.collection("users").whereField("name", isEqualTo: "kavin")
如何更新此字段值
Den*_*und 10
从您的问题中不清楚您是否希望名称是唯一的,或者是否有许多名为"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
])
}
}
Run Code Online (Sandbox Code Playgroud)
您必须进行一个异步查询,该查询将返回一个QuerySnapshot,其结果是一个文档数组。结果查询在您的文档中没有任何“唯一”字段的概念。因此,当名称应该是唯一的时,如果您得到多个结果,您必须处理其含义的逻辑。
检索到查询结果后,您可以使用reference属性直接访问对该文档的引用,并更新所需的字段。
| 归档时间: |
|
| 查看次数: |
5146 次 |
| 最近记录: |