如何查询从 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
我正在将 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