如何根据所选选项从firebase接收数据?

如何根据所选选项从firebase接收数据?,firebase,ionic-framework,firebase-realtime-database,ionic2,Firebase,Ionic Framework,Firebase Realtime Database,Ionic2,我正在开发一个ionic 2应用程序,人们可以将自己的血型添加到firebase 现在我想实现一个搜索页面来接收来自firebase的数据,例如,有人想搜索B Rh+血型,只需选择该单选按钮,当他们单击搜索时,我想在firebase中搜索B Rh+血型并列出他们 这是我的搜索html: <ion-list> <ion-item> <ion-label>Blood Type</ion-label> <ion-select

我正在开发一个ionic 2应用程序,人们可以将自己的血型添加到firebase

现在我想实现一个搜索页面来接收来自firebase的数据,例如,有人想搜索B Rh+血型,只需选择该单选按钮,当他们单击搜索时,我想在firebase中搜索B Rh+血型并列出他们

这是我的搜索html:

  <ion-list>
  <ion-item>
    <ion-label>Blood Type</ion-label>
    <ion-select [(ngModel)]="bloodtype">
      <ion-option value="ap">A Rh+</ion-option>
      <ion-option value="an">A Rh-</ion-option>
      <ion-option value="bp">B Rh+</ion-option>
      <ion-option value="bn">B Rh-</ion-option>
      <ion-option value="abp">AB Rh+</ion-option>
      <ion-option value="abn">AB Rh-</ion-option>
      <ion-option value="zp">0 Rh+</ion-option>
      <ion-option value="zn">0 Rh-</ion-option>
    </ion-select>
  </ion-item>

  <ion-item>
  <ion-range [(ngModel)]="range">
    <ion-icon range-left small name>0km</ion-icon>
    <ion-icon range-right small name>100km</ion-icon>
  </ion-range>
</ion-item>

<button ion-button full icon-left (click)="presentLoading()">
  <ion-icon name="search"></ion-icon>
  Search
</button>
</ion-list>
我试图使用搜索栏并接收带有此引用的数据
this.bloodRef=firebase.database().ref('/bloods')但使用搜索栏不起作用,因为人们可以键入“brh+”或“b”等

我的firebase层次结构:

---bloods (id)

          ------ blood-type: "B Rh+"

您可以使用orderBy和equalTo函数筛选项目:

var results = [];
this.bloodRef.orderByChild('blood-type').equalTo(this.bloodtype).once("value")
  .then(function(snapshot) {
    //snapshot.val() is the object
  });

什么意思?如果用户选择“bp”选项,则您希望获取所有血型为“B Rh+”的记录,但也要获取血型为“B”的记录@Escobar5第一个,我只想获取所有血型为“B Rh+”的记录
var results = [];
this.bloodRef.orderByChild('blood-type').equalTo(this.bloodtype).once("value")
  .then(function(snapshot) {
    //snapshot.val() is the object
  });