我无法将新数据("消息")保存到当前用户。
我将用户信息推送到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!])
答案 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])