【问题标题】:Updating only some of object仅更新部分对象
【发布时间】:2016-05-03 22:55:55
【问题描述】:

我的数据库中有一个表,我希望能够更改一些部分并保持其他功能不变,但是它正在更新表,以便更改两者,但其他 3 个变为空。有什么办法可以改变吗?

 $(function Tuesday(){

 // CREATE A REFERENCE TO FIREBASE
 var dateTuesdayRef = new Firebase('https://shiftsapp.firebaseio.com/roster');

 // REGISTER DOM ELEMENTS
 var date2Field = $('#date2Input');
 var emp1put2Field = $('#emp1Input2');
 var emp2put2Field = $('#emp2Input2');
 var emp3put2Field = $('#emp3Input2');
 var emp4put2Field = $('#emp4Input2');
 var emp5put2Field = $('#emp5Input2');
 var enter2Field = $('#enter2');

 // LISTEN FOR KEYPRESS EVENT
 enter2Field.keypress(function (e) {
   if (e.keyCode == 13) {
     //FIELD VALUES
     var dateTuesday = date2Field.val();
     var emp1put2 = emp1put2Field.val();
  var emp2put2 = emp2put2Field.val();
  var emp3put2 = emp3put2Field.val();
  var emp4put2 = emp4put2Field.val();
  var emp5put2 = emp5put2Field.val();
  var enter2 = enter2Field.val();

  //SAVE DATA TO FIREBASE AND EMPTY FIELD
    var obj2 = {};
    obj2[dateTuesday] = {
    emp1:emp1put2, 
    emp2:emp2put2,
    emp3:emp3put2, 
    emp4:emp4put2, 
    emp5:emp5put2
    }

    dateTuesdayRef.child(dateTuesday).set({emp1:emp1put2, 
    emp2:emp2put2, 
    emp3:emp3put2, 
    emp4:emp4put2, 
    emp5:emp5put2});
    enter2Field.val('');
    }
});

    });

【问题讨论】:

    标签: javascript firebase firebase-realtime-database


    【解决方案1】:

    从您的服务器获取您希望保持不变的事物的值,并在您设置对象时将它们反馈回来。您还可以像我建议的那样使用自定义函数来自动填充未定义的值。

    【讨论】:

      【解决方案2】:

      来自Firebase guide on saving data顶部的表格:

      set( ):将数据写入或替换到定义的路径,例如消息/用户/

      update( ):在不替换所有数据的情况下更新定义路径的一些键

      所以如果你调用update()而不是replace,它只会改变你传入的属性的值,而其他值保持不变。

      【讨论】:

        猜你喜欢
        • 2017-01-23
        • 2022-07-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-16
        • 1970-01-01
        • 2022-01-22
        • 2017-02-11
        相关资源
        最近更新 更多