我有一个节点文件,用于读取Firebase中每个孩子的数据。
在每个孩子身上,我想设置一个特定孩子的值,但是我收到了一个"设置"不是一个功能。
我可以访问该孩子的值,然后打印它的键,但我不知道为什么我不能调用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');
}
});
});
答案 0 :(得分:2)
快照是拍摄快照时数据库中数据的不可变表示形式。因此,您无法set()
快照上的值。
可以做的是为数据库中的同一位置设置一个新值:
childSnapshot.childSnapshotd("Is Available").ref().set('True')
然后您将获得一个新的value
事件,其中包含一个包含新值的快照。