我在将多个数据写入Firebase时遇到问题。我有三个不同的数组,一个int,我必须接受uid的child(adress)和uid的名字。我想以简单的方式制作订单节点,并且必须将所有这些数据写入同一节点中。我试图将其设置为值,但只需要删除最后一个即可。我找不到任何解决方法。我该如何解决?
这是我的代码:
func firebaseConfigForUserAndAdress() {
guard let uid = Auth.auth().currentUser?.uid else { return }
// these are my arrays
print(siparisEdilenUrunleriTutanArray)
print(siparisEdilenFiyatlariTutanArray)
print(siparisEdilenCountlariTutanArray)
// values for only try...
var values = siparisEdilenUrunleriTutanArray + siparisEdilenFiyatlariTutanArray
let refOrder = Database.database().reference().child("orders").child("kullanicilar").child(uid)
refOrder.setValue(values, withCompletionBlock: { (error, ref) in
if let error = error {
print("Failed to update database values with error: ", error.localizedDescription)
return
}
//self.dismiss(animated: true, completion: nil)
})
refOrder.setValue(["urun sayilari" : self.siparisEdilenCountlariTutanArray])
}
如何将这些数据写入Firebase?
答案 0 :(得分:0)
我不确定我是否理解正确,但是认为您可能正在寻找childByAutoId()
。当您在某个位置致电childByAutoId()
时,Firebase会在该位置下生成一个唯一ID,然后您可以在其中写入数据。
对于您来说,它看起来像:
let refOrder = Database.database().reference().child("orders").child("kullanicilar").child(uid)
refOrder.childByAutoId().setValue(values, withCompletionBlock: { (error, ref) in
...