【发布时间】: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
我想从 firebase 数据库中检索唯一的地址值!
$scope.address = $firebaseArray(fireBaseData.refUser().child($scope.user_info.uid).child("address"));
console.log(address);
【问题讨论】:
标签: angularjs firebase-realtime-database
如果您可以包含您正在使用的输入参数的日志输出和值,这会有所帮助。
您似乎错过了地址的 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;
});
}
);
【讨论】: