如何在Firebase Swift 3中获取用户特定数据

如何在Firebase Swift 3中获取用户特定数据,firebase,swift3,firebase-realtime-database,Firebase,Swift3,Firebase Realtime Database,我想在应用程序中检索当前用户的数据。我该怎么做 以下是我当前用户的firebase id: 我的表节点是: 很明显,我的uid和节点标题是不同的。因此,我如何才能获得特定用户的数据 我的代码到现在为止: self.ref = Database.database().reference() let userID = Auth.auth().currentUser?.uid self.ref.child("member").child(userID!).observeSingleEvent(of:

我想在应用程序中检索当前用户的数据。我该怎么做

以下是我当前用户的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
 }
})

您将获得不同的ID,因为第一个Wnlxl。。。是用户ID和另一个-KVvR664。。。是一个自动识别码。 您已经在成员后面设置了.childByAutoID,如果要检索当前用户的数据,则必须在成员后面放置userID。 然后,您可以通过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!])

我认为您的Firebase屏幕截图不正确-您的代码可以正常工作,但您创建这些成员的方式是错误的

创建成员时,您说的是.childByAutoID,您应该使用Auth.Auth.currentUser?.uid。如果这有道理的话。让我知道

编辑:要使用节点成员中的userUID数据创建用户,请执行以下操作:

if let userUID = Auth().auth.currentUser?.uid{
   ref.child("members/\(userUID)").setValue(*YOURMEMBERINFODICTIONARY*)
}

我不想设置值,但获取您已设置的当前用户的详细信息。成员后面是childByAutoID,如果您想在UserID下保存详细信息,则必须在成员后面添加UserID。未获取您?发布的屏幕截图。发布创建成员的firebase调用,我可以解释。