如何订购数据库列表asc或desc

时间:2018-03-30 15:52:14

标签: firebase ionic3 angularfire2

我正在尝试查询ionic3和Angularfire2中的有序列表。

通过此查询,它向我显示从最低到最高评级的餐馆,但我如何从高到低查询?

查询:

this.restaurantsRef = afDb.list('/restaurants', ref => ref.orderByChild('rating'));

我怎样才能进行多重查询?因为用户想要在多种条件下过滤餐馆。

AngularFire版本:

"angularfire2": "^5.0.0-rc.6",

文档说明了这一点:

// Order descending by numbers or strings
afs.collection('people', ref => ref.orderBy('age', 'desc') )
afs.collection('people', ref => ref.orderBy('name', 'desc') ) // reverse alphabetical

但是当我尝试orderBy时,它会返回此错误:

ref.orderBy is not a function

OrderBy似乎不存在于类型Reference

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

好的,我找到了一个解决方案,我写了一个像这样的管道:

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'reverse'
})
export class ReversePipe implements PipeTransform {

  transform(value) {
      if (!value) return;

      return value.reverse();
    }
}

然后在html中使用它:

 *ngFor="let restaurant of restaurantsList | async | reverse"