Ios 如何将多个数据写入firebase?
我在将多个数据写入firebase时遇到问题。我有三个不同的数组,一个int,我必须取uid的子(地址)和uid的名字。用一种简单的方法,我想在一个节点上下订单,我必须在同一个节点上写下所有这些数据。我试图将其设置为值,但只需要最后一个值,其他值就会被删除。我找不到任何办法来修理它。我怎样才能解决这个问题 这是我的代码:Ios 如何将多个数据写入firebase?,ios,swift,firebase,firebase-realtime-database,Ios,Swift,Firebase,Firebase Realtime Database,我在将多个数据写入firebase时遇到问题。我有三个不同的数组,一个int,我必须取uid的子(地址)和uid的名字。用一种简单的方法,我想在一个节点上下订单,我必须在同一个节点上写下所有这些数据。我试图将其设置为值,但只需要最后一个值,其他值就会被删除。我找不到任何办法来修理它。我怎样才能解决这个问题 这是我的代码: func firebaseConfigForUserAndAdress() { guard let uid = Auth.auth().currentUser?.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?我不确定是否理解正确,但我认为您可能正在寻找
childByAutoId()
。当您在某个位置调用childByAutoId()
时,Firebase将在该位置下生成一个唯一的ID,然后您可以在该位置下写入数据
对你来说,这看起来像:
let refOrder = Database.database().reference().child("orders").child("kullanicilar").child(uid)
refOrder.childByAutoId().setValue(values, withCompletionBlock: { (error, ref) in
...
我在docs上看到过这种方法,但它给了我很多自动识别功能。这样做正确吗?
childByAutoId
将在每次调用它时生成一个唯一的ID。如果这不是您想要的(但您也不希望每次都覆盖现有数据),那么您需要确定生成新ID的频率。因此,与其描述你不想要的行为,不如试着描述你想要的,然后实现它。