2017-06-24 9 views
0

私は、ユーザーがすべての投稿を表示して編集できるHTMLページを作成しています。現時点では、私はちょうど私が目的のデータを取得するかどうかを確認する結果をログにコンソールですが、私はエラーやデータを受信して​​いないよ。Firebaseデータベースを照会してもデータやエラーが発生しない

ページには現在サインインしているユーザーの投稿のみが表示されますが、Firebaseデータベースにそのユーザーの投稿があるにもかかわらず、以下のコードでは何も返されません。

現在ログインしているユーザーの投稿のみを表示する方法はありますか?

{ 
    "posts" : { 
    "-KnP3MkFt5559uP1w5fh" : { 
     "content" : "content 1", 
     "title" : "title 1", 
     "uid" : "O96P2INZn6S42dqqwgtz2OfgmYb2" 
    }, 
    "-KnPPwHhfXDv34Lr0HMP" : { 
     "content" : "content 2", 
     "title" : "title 2", 
     "uid" : "B3nHbd7G49Y2iwSA3tJSaHFVuCq2" 
    }, 
    "-KnPR_ZsgOwrpRDGZkHT" : { 
     "content" : "content 3", 
     "title" : "title 3", 
     "uid" : "O96P2INZn6S42dqqwgtz2OfgmYb2" 
    } 
    }, 
    "profiles" : { 
    "B3nHbd7G49Y2iwSA3tJSaHFVuCq2" : { 
     "email" : "-", 
     "firstName" : "-", 
     "lastName" : "-" 
    }, 
    "O96P2INZn6S42dqqwgtz2OfgmYb2" : { 
     "email" : "-", 
     "firstName" : "firstFirst", 
     "lastName" : "firstLast" 
    } 
    }, 
    "user-posts" : { 
    "-KnP3MkFt5559uP1w5fh" : { 
     "content" : "content 1", 
     "title" : "title 1", 
     "uid" : "O96P2INZn6S42dqqwgtz2OfgmYb2" 
    }, 
    "-KnPPwHhfXDv34Lr0HMP" : { 
     "content" : "content 2", 
     "title" : "title 2", 
     "uid" : "B3nHbd7G49Y2iwSA3tJSaHFVuCq2" 
    }, 
    "-KnPR_ZsgOwrpRDGZkHT" : { 
     "content" : "content 3", 
     "title" : "title 3", 
     "uid" : "O96P2INZn6S42dqqwgtz2OfgmYb2" 
    } 
    } 
} 

は、ここに私のjavascriptです:

firebase.auth().onAuthStateChanged(function (firebaseUser) { 
    if (firebaseUser) { 
var userid = firebase.auth().currentUser.uid; 
var myPostsRef = firebase.database().ref('user-posts'); 

    myPostsRef.orderByChild('uid').equalTo('userid').on('child_added', function(snapshot) { 
snapshot.forEach(function(snapshot) { 
     var myPostData = snapshot.val(); 

     console.log(myPostData); 

    }); 
}); 
+0

さてあなたはすべてのエラーをキャッチしていないので、あなたがそれらを見ていないだろうすべての時間に発生します。 '.catch(function(error){console.log(error)}'のようなものを追加すると 'onAuthStateChanged'と' on( 'child_added''は両方ともエラーコールバックを返します)、エラーが表示されます – edzillion

答えて

1

この:

myPostsRef.orderByChild('uid').equalTo('userid')

それのような..looksは、このする必要があります。ここ

は私のデータが設定されている方法です:

myPostsRef.orderByChild('uid').equalTo(userid)

は:)

+1

Thanks @これを変更する必要がありました:myPostsRef.orderByChild( 'uid')。equalTo(userid).once( 'value'、function(snapshot)){ snapshot.forEach(function(childSnapshot){ var myPostData = childSnapshot.val(); //スナップショットから変更しました console.log(myPostData); }); – greynolds

関連する問題