如何在Firebase中的当前uid中保存数据 [英] How to save data in current uid in Firebase
本文介绍了如何在Firebase中的当前uid中保存数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我无法将新数据(消息")保存到当前用户.
I can't save new data ("messages") to current user.
我用于将用户信息推送到Firebase的代码
my code for push user info to Firebase
var ref: FIRDatabaseReference! = FIRDatabase.database().reference()
self.ref.child("Users").child("UserID").childByAutoId().setValue(["Name": userName, "Email": userEmail])
用于将消息推送到Firebase的代码
code for push messages to 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!])
但是我想要这样的需要保存在当前用户中的消息
推荐答案
您的第一段代码不正确.如果要将 Messages
放在现有的 User
下,则应使用 child(self.uid!)
而不是 childByAutoId()
,因为第二种方法会在Firebase DB中生成新实例.因此,您的代码应类似于:
Your first block of code is incorrect. If you want to put your Messages
under existed User
, you should use child(self.uid!)
instead of childByAutoId()
, because the second method generates new instance in firebase DB. So your code should looks something like:
var ref: FIRDatabaseReference! = FIRDatabase.database().reference()
self.ref.child("Users").child("UserID").child(self.uid!).setValue(["Name": userName, "Email": userEmail])
这篇关于如何在Firebase中的当前uid中保存数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文