【问题标题】:Firebase TypeError: childSnapshot.child(...).set is not a functionFirebase TypeError:childSnapshot.child(...).set 不是函数
【发布时间】:2016-08-30 08:48:21
【问题描述】:

我有一个节点文件,可以读取 Firebase 中每个子节点的数据。

在每个孩子上,我想设置一个特定孩子的值,但我收到一个 TypeError ,“set”不是一个函数。

我可以访问那个孩子的值,并打印它的键,但不知道为什么我不能调用 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');
    }
  });
});     

【问题讨论】:

    标签: javascript node.js web firebase


    【解决方案1】:

    快照是拍摄快照时数据库中数据的不可变表示。因此,您不能set() 快照上的值。

    可以做的就是在数据库中的相同位置设置一个新值:

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

    然后您将获得一个新的value 事件,其中将包含具有新值的快照。

    【讨论】:

      猜你喜欢
      • 2020-10-06
      • 1970-01-01
      • 1970-01-01
      • 2023-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-01
      相关资源
      最近更新 更多