在我的服务中,我使用角火来调用firebase:
filter : function(limit){
return $firebase(ref.child('stats').limit(limit)).$asArray();
},
这很好但是如果我尝试添加orderByChild:
filter : function(limit){
return $firebase(ref.child('stats').limit(limit).orderByChild('host')).$asArray();
},
我收到错误:TypeError:undefined不是函数
如何将这些调用链接在一起,以便我可以限制结果和按主机排序?
答案 0 :(得分:0)
看起来有两个问题:
.limit()
已弃用。查看https://www.firebase.com/docs/web/api/query/limit.html了解详情。
虽然从技术上来说,你所做的事情应该有效(文档说.limit()
和.orderByChild()
都会返回一个新的Query
对象),我有一种感觉这是一个排序问题,.limit()
可能会返回一些无法访问新(呃)方法的内容(如.orderByChild()
)。
我尝试将您的代码段更改为:
filter: function(limit) {
var query = ref.child('stats').orderByChild('host').limitToFirst(limit);
return $firebase(query).$asArray();
},