繁体   English   中英

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

[英]OrderByChild on a query after filtering list using Firebase

我有一个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做到这一点?

您可以尝试结合像distanceFromUser_currentPrice这样的两个对象来制作一个新的子项,然后在查询中使用它。

此外,您无法在50公里半径内查找20个最近的站点,因为endAt还会返回距离为150.0、250.0等的站点,因此无法执行查询。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM