我有一个 Node 文件,可以读取 Firebase 中每个 child 的数据。
在每个子项上,我想设置特定子项的值,但我收到“set”不是函数的 TypeError。
我可以访问那个 child 的值,并打印它的键,但我不确定为什么我不能调用 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');
}
});
});
最佳答案
快照是拍摄快照时数据库中数据的不可变表示。因此,您不能 set()
快照上的值。
您可以做的是在数据库中的相同位置设置一个新值:
childSnapshot.childSnapshotd("Is Available").ref().set('True')
然后您将获得一个新的 value
事件,其中将包含具有新值的快照。
关于javascript - Firebase TypeError : childSnapshot. child(...).set 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37035783/