查询Firebase数据库但未获取数据或错误

时间:2017-06-24 14:37:53

标签: javascript firebase-realtime-database querying

我正在创建一个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); 

    });
});

1 个答案:

答案 0 :(得分:1)

此:

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

..看起来应该是这样的:

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

一直发生:)