2017-10-15 26 views
0

アプリケーションで現在のユーザーのデータを取得します。どうやってやるの。 ?ここで
Firebase Swift 3でユーザー固有のデータを取得する方法

は私の現在のユーザーのfirebase IDです:

enter image description here

そして、私のテーブルノードがある:

enter image description here

ここでは、私のuidとノードのタイトルが異なっていることは明らかです。だから、どのようにして特定のユーザーのデータを取得できますか。

私のコード今まで:最初の1 Wnlxl...userIDであり、他-KVvR664...autoIDあるので

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

あなたは、異なるIDを取得しています。
memberに続いて.childByAutoIDを設定した場合、現在のユーザーのデータを取得する場合は、memberに続いて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!]) 
+0

私は値を設定していますが、 '設定した現在のユーザの詳細 – vickydutta

+0

をフェッチする必要はありません.childByAutoID' 'member'の後に' UserID'の下に詳細を保存したい場合、 'member'の後に' userID'を追加する必要があります。 –

+0

@vickydutta更新の回答 –

0

Firebaseのスクリーンショットが正しくありません。あなたのコードは正常に動作しますが、これらのメンバーの作成方法は間違っています。

メンバーを作成するときは、Auth.auth().currentUser?.uidを使用する必要がある.childByAutoIDと言っています。それが意味をなさないならば。お知らせ下さい。

編集:次の操作を行うノード・メンバーにuserUIDデータを持つユーザーを作成するには:

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

コードを入力できます – vickydutta

+0

あなたを得られませんでしたか? – vickydutta

+0

あなたが投稿したスクリーンショット。メンバーを作成しているfirebase呼び出しをポストし、私は説明することができます。 – Torewin

関連する問題