2016-06-21 58 views
1

檢索數據我想從一個火力點數據庫中檢索數據:與火力的Web

firebase.database().ref("/appointments").orderByChild("doctor").equalTo(doctorId).on("value", function(snapshot) { 
    var appointmentsData = snapshot.val(); 
    for(var appointment in appointmentsData) { 
    if (!appointmentsData.hasOwnProperty(appointment)) continue; 
    var obj = appointmentsData.appointment; 
    } 
}); 

如果我CONSOLE.LOG約會或CONSOLE.LOG appointmentsData,我得到正確的值,但如果我安慰。記錄約會數據。約會,我得到未定義。

任何想法如何從firebase返回的對象中檢索屬性和值?

+0

當您執行對火力地堡數據庫的查詢,也將有可能是多個結果。所以快照包含了這些結果的列表。即使只有一個結果,快照也會包含一個結果列表。 @ theblindprophet的答案顯示瞭如何遍歷列表。 –

回答

3

你想用Firebase的內置forEach函數。它允許您遍歷快照並輕鬆獲取該對象內每個屬性的鍵和值。它可能是另一個對象或平坦的價值。

firebase.database().ref("/appointments").orderByChild("doctor").equalTo(doctorId).on("value", function(snapshot) { 
    snapshot.forEach(function(childSnapshot) { 
     // key 
     var key = childSnapshot.key; 
     // value, could be object 
     var childData = childSnapshot.val(); 
     // Do what you want with these key/values here 
     ... 
    }); 
}); 

參考:

forEach, Firebase 3.0

+0

非常感謝!這應該已經出現在Firebase入門指南中 – rhari