2016-05-04 15 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イベントを取得します。