2016-07-07 14 views
1

は私firebaseデータベース内のデータであると一致するデータを取得するために、どのように、私は彼のfirebaseユーザーIDを使用して、ユーザーのための「doctorDetails」を得るしたいと思います。firebaseユーザーIDの下

データベースの構造:医師/ユーザーID/doctorDetails

// Data in Database : 

{ 
    "doctors" : { 
    "65smvSYkhfVBtM2GrPmOl3cdgDy1" : { 
     "doctorDetails" : { 
     "designation" : "Principal Scientist", 
     "docRegNumber" : "242354", 
     "doctorName" : "Dr Nicole Tesla", 
     "doctorVerified" : false, 
     "mobileNumber" : "970050 8070", 
     "specialization" : "Physicist" 
     } 
    }, 
    "FOCSwhfIZSOpqUgueoWlakSkVYr1" : { 
     "doctorDetails" : { 
     "designation" : "Principal Scientist", 
     "docRegNumber" : "87509", 
     "doctorName" : "Dr Curie ", 
     "doctorVerified" : false, 
     "mobileNumber" : "80690 00343", 
     "specialization" : "Physicist" 
     } 
    } 
    } 
} 

以下は、私が彼らのfirebaseユーザーIDを使用して「doctorDetails」を得るために使っていたコードです。

var userId = firebase.auth().currentUser.uid;  
firebase.database().ref('doctors/'+userId+'/doctorDetails').on('value', function(snapshot){ 
    console.log(snapshot.val()); 
}); 

はしかし、私は、誰かが私が間違っているつもりどこ提案してくださいすることができ、まだユーザーIDを持つユーザーのための「医師の詳細を」を得ることができませんか?

[EDIT 1]私はリスナーを取り付けることなく、データを抽出する方法上記のコードは変更のみをリッスン 、。

[編集2] 私が設定した権限はありますか?データを読み込むためにはどのような変更が必要ですか?

{ 
    "rules": { 
    "users": { 
     "$uid": { 
     ".write": "$uid === auth.uid" 
     } 
    }, 
    "doctors":{ 
     "$uid": { 
     ".write": "$uid === auth.uid" 
     } 
    } 
    } 
} 
+0

この[https://groups.google.com/forum/#!topic/firebase-talk/836OyVNd_Yg](https://groups.google .COM /フォーラム/#!話題/ firebaseトーク/ 836OyVNd_Yg) –

+0

あなたはユーザーIDをデバッグがありますか?あなたのfirebase呼び出しが正常に動作しなければならないコードで探して。 – adolfosrs

+0

私がユーザIDを記録することができています。 – kurrodu

答えて

0

問題は、私のデータベースルールとあった:

古いデータベースルール

{ 
    "rules": { 
    "users": { 
     "$uid": { 
     ".write": "$uid === auth.uid" 
     } 
    }, 
    "doctors":{ 
     "$uid": { 
     ".write": "$uid === auth.uid" 
     } 
    } 
    } 
} 

で問題が解決に役立っているの下に(databases.rules.jsonで)データベースルールを更新しました

{ 
    "rules": { 
    "users": { 
     "$uid": { 
     ".write": "$uid === auth.uid", 
     ".read": "$uid === auth.uid" 
     } 
    }, 
    "doctors":{ 
     "$uid": { 
     ".write": "$uid === auth.uid", 
     ".read": "$uid === auth.uid" 
     } 
    } 
    } 
} 
関連する問題