2017-02-16 109 views
0

我有一個火力點數據庫,這樣 enter image description hereangularfire2得到孩子參考

我如何獲得phaseplaces的項目?我的目標是編寫一個函數getSelectOptions(key:string),它返回一個列表,用於顯示所提供密鑰的選擇選項。我想通過僅從firebase獲取select-options,然後返回該函數中的子集,將數據庫查詢數量減少爲1。我至今:

this.selectOptions = af.database.list('/select-options'); 

並且返回selectOptions是 enter image description here

+0

是否有'select-options'中的任何其他對象都不是這2個? –

+0

是的更多這僅僅是爲了示例。我想我真的不知道如何使用observables – niklas

+0

我認爲這與observables無關。 (angularfire返回數據的可觀察值,但不相關)。我認爲這不能在1個數據庫調用中完成。您可能需要進行2次數據庫調用。如果可能的話,重新定義您的數據模型以在1次調用中完成此操作。 –

回答

0

這是一種變通方法,可以幫助你,但必須有另一種方式來做到這一點:

this.selectOptions.subscribe(items=> { 
    for(let options of items){ 
    for (var property in options) { 
      if (options.hasOwnProperty(property) && property.indexOf("$")!=0){ 
      console.log(options[property]); //Should contain an object phase. 
      } 
    } 
    } 
});