當我在Firebase中創建對象時,我使用childByAutoId。我以後如何更新這些特定的對象?我無法獲取關鍵Firebase自動更新的價值。 Snapshot.key只是返回「用戶」。這是我的JSON結構:如何使用childByAutoId更新Firebase中的值?
{
"users" : {
"-KQaU9lVcUYzIo52LgmN" : {
"device" : "e456f740-023e-440a"
"name: "Test"
}
},
我怎樣才能得到-KQaU9lVcUYzIo52LgmN
密鑰?我想更新設備的孩子。這是迄今爲止我所擁有的。它目前與一個孩子創建一個完全獨立的快照。
self.rootRef.child("users").queryOrdered(byChild: "name").queryEqual(toValue: self.currentUser).observeSingleEvent(of: .value, with: { (snapshot) in
let key = self.rootRef.child("users").childByAutoId().key
let childValues = ["device": device]
self.rootRef.child("users").child(key).updateChildValues(childValues)
編輯:device是進一步在代碼中設置的字符串。未在此範圍內定義(以便於閱讀此問題)。
完美地工作!非常感謝!!我知道有一種方法,但我無法弄清楚。循環瀏覽'snapshot.children.allObjects'看起來像要走的路 – winston
非常好!很高興我能幫上忙。我通過詢問人們在這裏學到了完全相同的方式。 ;) – Ryan