我正在创建一个HTML页面,用户可以在其中查看所有帖子并对其进行编辑。目前我只是控制台记录结果,看看我是否得到了所需的数据,但我没有收到任何错误或数据。
该页面应仅显示当前已登录的用户帖子,但我的代码未返回任何内容,即使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 :(得分:1)
此:
myPostsRef.orderByChild('uid').equalTo('userid')
..看起来应该是这样的:
myPostsRef.orderByChild('uid').equalTo(userid)
一直发生:)