【发布时间】:2017-06-22 11:33:54
【问题描述】:
我有一个从 Firebase 后端获取数据的 Ionic 移动应用。在一个页面上,我得到一个站点列表,其中包含每个站点的位置和当前价格。我想做的是按位置过滤列表,然后按价格排序。
let query = this.db.list('/stations', {
query: {
orderByChild: 'distanceFromUser',
endAt: 50.0,
limitToFirst: 20
}
});
this.stations = query, {
query: {
orderByChild: 'currentPrice',
}
}
这段代码显然不起作用,但它显示了我想要完成的任务。首先使用 50 公里半径内的 20 个最近的车站创建一个查询,然后按 currentPrice 对这个列表进行排序。
有没有办法通过 Firebase 实现这一点?
【问题讨论】:
-
正如 Saksham 所说,Firebase 对一种排序/过滤属性的限制的常见解决方法是将要过滤的值组合到一个属性中。但是以允许对它们执行范围查询的方式组合其中的两个数值是非常罕见的。我唯一见过的是 Geofire,它将纬度和经度组合成一个可查询的属性。
标签: javascript firebase ionic-framework firebase-realtime-database angularfire2