我想从firebase数据库中检索唯一的地址值?

时间:2018-03-04 07:47:14

标签: angularjs firebase-realtime-database

我想从firebase数据库中检索唯一的地址值!

$scope.address = $firebaseArray(fireBaseData.refUser().child($scope.user_info.uid).child("address"));
console.log(address);

enter image description here

1 个答案:

答案 0 :(得分:0)

如果您可以包含日志输出和正在使用的输入参数的值,则会有所帮助。

看起来你错过了地址的ID。也就是说,您的代码目前描述了这条路径:

/users/$UID/address/

但你可能想要:

/users/$USER_ID/address/$ADDRESS_ID

完成后,您可以使用once()函数检索该子树的快照,然后查询其中的值。

例如,

    fireBaseData.refUser()
    .child($scope.user_info.uid + '/address/')
    .child( ADDRESS_ID )
    .once('value')
    .then( 
      function(snapshot) {
        $scope.address = snapshot.val().address
      }
    );

如果您不知道ADDRESS_ID,并且您确定在特定UID下只有一个条目,那么您可能会考虑不使用push()函数为其设置唯一ID。但是,如果必须,您可以尝试拉出users/$UID/address/下面的所有节点并从那里向下钻取,如下所示:

    fireBaseData.refUser()
    .child($scope.user_info.uid + '/address/')
    .once('value')
    .then( 
      function(snapshot) {
        snapshot.forEach(function(childSnapshot) {
          var addressRecord = childSnapshot.val();
          $scope.address = addressRecord.address;
        });
      }
    );