如何在Firebase中保存当前uid中的数据

时间:2017-01-13 12:14:24

标签: swift3 firebase-realtime-database

我无法将新数据("消息")保存到当前用户。

我将用户信息推送到Firebase的代码

var ref: FIRDatabaseReference! = FIRDatabase.database().reference()

self.ref.child("Users").child("UserID").childByAutoId().setValue(["Name": userName, "Email": userEmail])

将消息发送到Firebase的代码

var messageRef: FIRDatabaseReference = FIRDatabase.database().reference()
let uid = FIRAuth.auth()?.currentUser?.uid
messageRef.child("Users").child("UserID").child(self.uid!).child("Messages").childByAutoId().setValue(["Sender Name": Profile.sharedProfile.Name!,"Date": self.currentDate(),"Time": self.currentTime(), "Text": self.text.text!])

It's what i see in Firebase Database

但我希望这样messages need save in current user

1 个答案:

答案 0 :(得分:0)

您的第一个代码块不正确。如果您想将Messages放在已存在的User下,则应使用child(self.uid!)而不是childByAutoId(),因为第二种方法会在firebase DB中生成新实例。因此,您的代码应该类似于:

var ref: FIRDatabaseReference! = FIRDatabase.database().reference()
self.ref.child("Users").child("UserID").child(self.uid!).setValue(["Name": userName, "Email": userEmail])