【问题标题】:I want to retrieve the only address value from firebase database?我想从 firebase 数据库中检索唯一的地址值?
【发布时间】:2018-03-04 18:01:18
【问题描述】:

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

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

【问题讨论】:

    标签: angularjs firebase-realtime-database


    【解决方案1】:

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

    您似乎错过了地址的 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;
            });
          }
        );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多