如何使用startAt在angularfire 8.0中返回promise

时间:2014-08-03 18:30:00

标签: firebase angularfire

$firebase(FbRef.child('users/abc/connected_accounts/').startAt(null, 'facebook'))
  .$asObject()
  .$loaded(function(data) {
     console.log(data)
  });

我想查询从' facebook'并从firebase检索数据。但是我遇到了这些错误。

TypeError: undefined is not a function

只有在不使用.startAt()

的情况下才有效

2 个答案:

答案 0 :(得分:1)

这看起来像是AngularFire中的一个错误 - 它没有正确支持应用查询的Firebase引用(即limit,startAt,endAt)。罪魁祸首似乎是$ flame属性,angularfire.js的第608行

self.$id = $firebase.$ref().name();

name()函数似乎不存在于查询中 - 这是有道理的,因为name()函数可以为您提供您正在访问的对象的Firebase位置 - 并且查询可能会访问多个对象。

答案 1 :(得分:0)

startAt()不是angularFire函数,它是firebase函数。这意味着您必须在Firebase参考上调用它:

$firebase(FbRef.child('users/abc/connected_accounts/').startAt(null, 'facebook'))
  .$asObject()
  .$loaded(function(data) {
      console.log(data)
  }
);

https://www.firebase.com/docs/web/api/query/startat.html