2016-05-04 37 views
0

我有一個節點文件,它讀取Firebase中每個子項的數據。Firebase TypeError:childSnapshot.child(...)。set不是函數

在每個孩子上,我想設置一個特定孩子的值,但我收到一個TypeError,「set」不是一個函數。

我可以訪問該孩子的價值,並打印它的關鍵,但我不知道爲什麼我不能撥打設置。

這裏是我的代碼的快照:

myFirebaseRef.once("value", function(snapshot) { 
    snapshot.child("Locations").forEach(function(childSnapshot) { 
    var startTime = childSnapshot.child("Start Time").val(); 
    var endTime = childSnapshot.child("End Time").val(); 
    var currentTime = getTimeStr(); 

    if(startTime == currentTime) { 
     console.log("inside start time"); 
     childSnapshot.child("Is Available").set('True'); 
    } 

    if(endTime == currentTime) { 
     console.log("inside end time"); 
     childSnapshot.child("Is Available").set('False'); 
    } 
    }); 
});  

回答

1

快照是在數據庫中的數據,在拍攝快照的那一刻的永恆不變的表示。因此,您不能在快照上獲得值set()

什麼你可以做的是一個新的值設置爲數據庫中的同一位置:

childSnapshot.childSnapshotd("Is Available").ref().set('True') 

然後你會得到一個新的value事件,其中將包含新值的快照。

相關問題