使用Firebase过滤列表后的查询中的OrderByChild

时间:2017-06-22 11:33:54

标签: javascript firebase ionic-framework firebase-realtime-database angularfire2

我有一个Ionic移动应用程序,可以从Firebase后端获取数据。在一个页面上,我得到一个站点列表,其中包含每个站点的位置和当前价格。我想要做的是按位置过滤列表,然后按价格订购。

    let query = this.db.list('/stations', {
      query: {
        orderByChild: 'distanceFromUser',
        endAt: 50.0,
        limitToFirst: 20
      }
    });

    this.stations = query, {
      query: {
        orderByChild: 'currentPrice',
      }
    }

这段代码显然不起作用,但它显示了我想要完成的任务。首先使用半径为50 km的20个最近的站创建一个查询,然后按currentPrice对此列表进行排序。

有没有办法让Firebase实现这一目标?

1 个答案:

答案 0 :(得分:0)

您可以尝试将一个新的孩子组合起来,例如distanceFromUser_currentPrice,然后在查询中使用它。

此外,您在50公里范围内寻找20个最近站点的查询无法正常工作,因为endAt也将返回距离为150.0,250.0等的站点。