使用唯一的自动生成的键从 firebase 检索子记录
Retrieving child records from firebase using unique auto-generated keys
场景是,
我们在 firebase 上的数据结构如下所示
图片基于示例数据库,其中 Posts 节点下的 post1、post2 是随机生成的键,就像 "YyhsyyHyzhh-Ke" 等一样,comment1、comment2 也是随机生成的键。
我的问题是我想从 firebase 获取所有帖子和相关评论,正如您在 post1 下看到的,有一个评论节点包含与 post1 相关的评论键,但我无法获取评论键所以我可以浏览到该评论的文本
见下方代码
appMainModule.controller('GetCtrl', ['$scope', '$firebase', function ($scope, $firebase) {
var firebaseObj = new Firebase("FirebaseURL/Posts");
var sync = $firebase(firebaseObj);
$scope.articles=sync.$asArray();
$scope.articles.$loaded(function (data) {
var mainVar ;
for (var i = 0; i < data.length; i++) {
mainVar = data[i];
var commentsWithIds=mainVar.Comments;
//how to fetch keys side of data from commentsWithIds as I dont know rendomly generated keys
}
});
我想要获取评论键,这样我就可以像这个 new Firebase("FirebaseURL/Comments"+CommentsAutoGeneratedKey) 一样制作 URL 。
如果我理解你的问题,你可以使用Object.keys()
方法:
var comments = {
"comment1":{
"text":"this is first comment"
},
"comment2":{
"text":"this is 2nd comment"
},
"comment3":{
"text":"this is third comment"
}
};
console.log(Object.keys(comments));
场景是,
我们在 firebase 上的数据结构如下所示
图片基于示例数据库,其中 Posts 节点下的 post1、post2 是随机生成的键,就像 "YyhsyyHyzhh-Ke" 等一样,comment1、comment2 也是随机生成的键。
我的问题是我想从 firebase 获取所有帖子和相关评论,正如您在 post1 下看到的,有一个评论节点包含与 post1 相关的评论键,但我无法获取评论键所以我可以浏览到该评论的文本
见下方代码
appMainModule.controller('GetCtrl', ['$scope', '$firebase', function ($scope, $firebase) {
var firebaseObj = new Firebase("FirebaseURL/Posts");
var sync = $firebase(firebaseObj);
$scope.articles=sync.$asArray();
$scope.articles.$loaded(function (data) {
var mainVar ;
for (var i = 0; i < data.length; i++) {
mainVar = data[i];
var commentsWithIds=mainVar.Comments;
//how to fetch keys side of data from commentsWithIds as I dont know rendomly generated keys
}
});
我想要获取评论键,这样我就可以像这个 new Firebase("FirebaseURL/Comments"+CommentsAutoGeneratedKey) 一样制作 URL 。
如果我理解你的问题,你可以使用Object.keys()
方法:
var comments = {
"comment1":{
"text":"this is first comment"
},
"comment2":{
"text":"this is 2nd comment"
},
"comment3":{
"text":"this is third comment"
}
};
console.log(Object.keys(comments));