使用唯一的自动生成的键从 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));