我想更新第二个用户,即具有uid 5p3XT8TVFbVYNmFt0Kbu1ticaUT2的用户,并将其名称更改为“ James”。使用iOS SDK,我可以做到:
let ref = Database.database().reference()
let id = 5p3XT8TVFbVYNmFt0Kbu1ticaUT2
let databaseQuery = ref.child("users").queryOrdered(byChild: "uid").queryEqual(toValue: id)
为了查询数据库,以便它将除我要更改的用户之外的所有用户过滤掉。但是此查询现在将指向已过滤的用户列表,其中仅包含我要更新的用户,而不是用户本身。因此,如果我尝试
databaseQuery.ref.updateChildValues(...)
数据库将如下所示:
我无法从api参考中了解如何直接进入所查询的孩子。我该怎么办?
答案 0 :(得分:0)
您可以在值字典中设置要更改的值
func updateValues(){
let ref = Database.database().reference()
let id = 5p3XT8TVFbVYNmFt0Kbu1ticaUT2
let values = ["name": txf_Name.text ?? "", “email”: txf_email.text ?? "", “role”: txf_Role.text ?? ""]
ref.child(id).updateChildValues(values, withCompletionBlock: { (error, ref) in
if(error != nil){
print(error?.localizedDescription ?? "")
return
}
print("Values Updated")
})
}