查询 Firebase 数据库但未获取数据或错误
Querying Firebase database but not getting data or errors
我正在创建一个 HTML 页面,用户可以在其中查看他们所有的 post 并进行编辑。目前我只是在控制台记录结果以查看我是否获得了所需的数据,但我没有收到任何错误或数据。
该页面应该只显示当前登录用户的 post,但我下面的代码没有返回任何内容,即使 Firebase 数据库中有该用户的 post。
知道如何只显示当前登录用户的 post 吗?
我的数据是这样设置的:
{
"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);
});
});
这个:
myPostsRef.orderByChild('uid').equalTo('userid')
..看起来应该是这样的:
myPostsRef.orderByChild('uid').equalTo(userid)
经常发生 :)
我正在创建一个 HTML 页面,用户可以在其中查看他们所有的 post 并进行编辑。目前我只是在控制台记录结果以查看我是否获得了所需的数据,但我没有收到任何错误或数据。
该页面应该只显示当前登录用户的 post,但我下面的代码没有返回任何内容,即使 Firebase 数据库中有该用户的 post。
知道如何只显示当前登录用户的 post 吗?
我的数据是这样设置的:
{
"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);
});
});
这个:
myPostsRef.orderByChild('uid').equalTo('userid')
..看起来应该是这样的:
myPostsRef.orderByChild('uid').equalTo(userid)
经常发生 :)