0
保存多個孩子完成後,我需要保存一個對象並將具有autoId
的孩子添加到同一個對象。我目前正在保存第一個對象,並在循環內添加一個autoId
的子項。我想知道是否有更有效的方法來做到這一點?Firebase如何使用childByAutoId()
let data: [String: Any] = [
"one": 1,
"two": 2,
"aboutS": "yeeah",
]
//Data to be saved with auto id after inital data saved
let mediaMetaData: [[String: Any]] = [
["path": "nda.mov", "type": "009"],
["path": "nda.mov", "type": "009"]
]
ref.getUserSkillDatabasePath(authUser).childByAutoId().setValue(data, withCompletionBlock: {
error, dbReference in
if error != nil {
print(error as Any)
}
let mediaUploadGroup = DispatchGroup()
//Loop through mediaMetaData and save children using auto id
// Wish to save all children with auto id objects at once?
mediaMetaData.forEach {
meta in
mediaUploadGroup.enter()
dbReference.child("media").childByAutoId().setValue(meta, withCompletionBlock: {_,_ in
mediaUploadGroup.leave()
})
}
mediaUploadGroup.notify(queue: .main, execute: {
completion(error)
})
})
更好的解決方案。謝謝你的幫助 – kye