使用Firebase中的值过滤后获取密钥的值

时间:2017-01-10 21:13:46

标签: javascript angularjs firebase firebase-realtime-database

我是Firebase的新手。我试图用一个值过滤它后得到一个键的值。 我首先使用

获取具有room_num值“323”的特定用户
uref.orderByChild("room_num").equalTo(room_num).once("value" ...

获得此用户的对象后,我想访问他/她的电话号码。但是下面的代码并没有给我我需要的东西。

var uref = new Firebase('https://XXX.firebaseio.com/users');
uref.orderByChild("room_num").equalTo("323").once("value", function(data) {
      $scope.telephone = data.telephone;
      console.log($scope.telephone);
});

我也试过用$ firebaseArray包装它。

这是我的数据库的样子

users
  6GFbWBV9rINa3ZCDN45BgM1PO3o2
      email: "test@gmail.com"
      name: "Mark"
      room_num: "323"
      telephone: "72839202"

My database looks like this

1 个答案:

答案 0 :(得分:0)

回调传递快照。对于与查询匹配的每个条目,快照将具有子级。要访问子快照中的数据,您需要调用val()

uref.orderByChild("room_num").equalTo("323").once("value", function (snapshot) {
  snapshot.forEach(function (childSnapshot) {
    var data = childSnapshot.val();
    $scope.telephone = data.telephone;
    console.log($scope.telephone);
  });
});