如何查询从 Firebase 实时数据库获得的 ionic 3 结果?

How do I query the results obtained from Firebase realtime database for ionic 3?

我正在将 firebase 实时数据库集成到我的 ionic 3 应用程序中。目前,我可以直接从实时数据库中执行基本的创建、检索、更新和删除操作。但是,我想查询从实时数据库中检索到的数据(类似于 SQL 查询 - WHERE、ORDER BY 等)。

目前,这是我的代码:

home.ts

import { AngularFireDatabase, AngularFireObject } from '@angular/fire/database';
import { Observable } from 'rxjs';

constructor(public navCtrl: NavController, private afDB: AngularFireDatabase) {
      this.itemRef = afDB.object('Restaurant');
      this.ref = this.afDB.database.ref('/Restaurant');
      this.getDetails();
  }

getDetails(){
    this.afDB.list('/Restaurant').snapshotChanges().subscribe((res) => {
      let tempArray:any = [];

      res.forEach((ele) => {
        console.log(ele.payload.val());
        tempArray.push(ele.payload.val())
      });
      this.displayDetail = tempArray;
      console.log(this.displayDetail);
    })
} 

我的目标是通过 getDetails() 方法查询 return 我想要从实时数据库中获取的数据。

感谢您的帮助!

要在 firebase 中进行查询,请尝试以下操作:

    this.afDB.list('/Restaurant', ref => ref.orderByChild('food').equalTo('chicken')).snapshotChanges().subscribe((res) => {
      let tempArray:any = [];

      res.forEach((ele) => {
        console.log(ele.payload.val());
        tempArray.push(ele.payload.val())
      });
      this.displayDetail = tempArray;
      console.log(this.displayDetail);
    })

这将return节点food等于chicken的数据,你可以在这里查看查询:

https://github.com/angular/angularfire/blob/master/docs/rtdb/querying-lists.md