Firebase 如何在angularFire 0.8中查找阵列相关数据

Firebase 如何在angularFire 0.8中查找阵列相关数据,firebase,angularfire,Firebase,Angularfire,节点 users - user_abc - albums - 123: true - 456: true albums - 123 - title: 'hello world' - 456 - title: 'this is a album title' 场景 从用户节点获取相册id,然后在相册中查找数据 代码 $firebase(FbRef.child('users/user_abc/albums/')).$asArray().$loaded().then(

节点

users 
 - user_abc
  - albums
   - 123: true
   - 456: true

albums
 - 123
  - title: 'hello world'
 - 456
  - title: 'this is a album title'
场景

从用户节点获取相册id,然后在相册中查找数据

代码

$firebase(FbRef.child('users/user_abc/albums/')).$asArray().$loaded().then(function(a) {
 $scope.albums = $firebase(FbRef.child('albums/' + STUCK_HERE_!!!)).$asArray();
});
当我控制台
a
时,它返回

0:
 $id: '123'
 etc...
1:
 $id: '456'
 etc....
etc....
所以我有一个未知的数组长度,如何将它们传递到
stackd\u HERE\uu

更新

我尝试了
$asObject()
,它在承诺后返回密钥,但如何调用它
.name()
不起作用

更新2

我从
$asObject
获得了密钥,但是如何使用这些密钥查询其他节点


因此,您正试图根据用户的“首选项”获取一个AngularFire
FirebaseArray
以及所有可用专辑的子集。我不确定你是否能轻易地使用角火力阵。你基本上是在尝试过滤孩子们,我认为这不是内置的功能。不过,你可以扩展它。代码在这里:使用FirebaseObject怎么样?我得到了密钥,但不知道如何使用它们查询另一个节点。我记得我可以在0.5版本中使用
name()
来完成。如果使用
$toObject()
,则会得到
FirebaseObject
。但是如果你在
/albums
上这样做,你会得到所有的专辑,这听起来不像你想要的。如果这是您想要的,您只需获取所有相册并在
ng repeat
中应用过滤器即可。这绝对更简单。我只想查询属于“user_abc”的相册。我上传了一张图片。您可以看到我从用户节点获得了相册密钥。但是如何使用它来查询albums节点呢?或者我必须使用纯firebase js来实现这一点?