我想检索应用程序中当前用户的数据。我怎样才能做到这一点。 ?
这是我当前用户的firebase id:
我的表节点是:
很明显,我的uid
和节点标题不同。那么我怎样才能获得特定用户的数据。
我的代码到现在为止:
self.ref = Database.database().reference()
let userID = Auth.auth().currentUser?.uid
self.ref.child("member").child(userID!).observeSingleEvent(of: .value, with: { (snapshot) in
if !snapshot.exists() {
// handle data not found
return
}
})
答案 0 :(得分:1)
您获得了不同的ID,因为第一个Wnlxl...
是userID
而另一个-KVvR664...
是autoID
。
您已在.childByAutoID
后面设置member
,如果您想要检索当前用户的数据,则必须在userID
之后添加member
。
然后,您可以通过userID
轻松检索用户的数据,因为每个细节都会保存在userID
下。
希望这段代码能为你效劳。
let ref : FIRDatabaseReference!
ref = FIRDatabase.database().reference()
ref.child("member").child(user!.uid).setValue(["name": self.fullName.text!, "email": self.email.text!, "mobile": self.mobile.text!, "doj": self.doj.text!])
答案 1 :(得分:0)
您的Firebase屏幕截图不正确我认为 - 您的代码可以正常运行,但您创建这些成员的方式是错误的。
创建成员时,您说"App1 OK"
"App2 OK"
应该使用.childByAutoID
。如果这是有道理的。让我知道。
编辑:要在节点成员中创建具有userUID数据的用户,请执行以下操作:
Auth.auth().currentUser?.uid