作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在关注这个 document .以下是我的更新代码:
func updateDealResultToServer(key:String,dealResult : String)
{
let post = ["dealResul": dealResult]
let childUpdates =
["/komal_xyz/\(key)": post
]
rootRef.updateChildValues(childUpdates)
}
我只想更改 dealResult
的值。每当我尝试为特定子节点(如 1473670100726
)运行上述代码时,除 dealResul
之外的其他值都会被删除。
最佳答案
要更新 Firebase 实时数据库中特定节点的值,请使用:-
您可以使用 runTransactionBlock:
func updateTotalNoOfPost(completionBlock : (() -> Void)){
let prntRef = FIRDatabase.database().reference().child("komal_kyz").child(your_AuroID).child("dealResul")
prntRef.runTransactionBlock({ (resul) -> FIRTransactionResult in
if let dealResul_Initial = resul.value as? Int{
//resul.value = dealResul_Initial + 1
//Or HowSoEver you want to update your dealResul.
return FIRTransactionResult.successWithValue(resul)
}else{
return FIRTransactionResult.successWithValue(resul)
}
}, andCompletionBlock: {(error,completion,snap) in
print(error?.localizedDescription)
print(completion)
print(snap)
if !completion {
print("Couldn't Update the node")
}else{
completionBlock()
}
})
}
调用这个函数时:-
updateTotalNoOfPost{
print("Updated")
}
或者只调用updateValues
let prntRef = FIRDatabase.database().reference().child("komal_kyz").child(your_AuroID)
prntRef.updateChildValues(["dealResul":dealResult])
PS:- 如果你只想增加一个特定的节点。另请阅读:- https://stackoverflow.com/a/39458044/6297658
关于ios - 如何在 Firebase DB 中更新子项的特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39462410/
我是一名优秀的程序员,十分优秀!