gpt4 book ai didi

javascript - Firebase 中的更新删除其他条目

转载 作者:行者123 更新时间:2023-12-02 14:42:59 25 4
gpt4 key购买 nike

我正在尝试在其日期下输入轮类数。这对于 19-01 工作正常,但当我尝试输入 20-01 时,它会保存并删除 19-01 的条目。

有人知道问题是什么以及为什么它不能让我拥有不止一棵树吗?

//ROSTERS SAVING 
//ROSTERS FOR MONDAYS
$(function Monday(){

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

// REGISTER DOM ELEMENTS
var date1Field = $('#date1Input');
var emp1put1Field = $('#emp1Input1');
var enter1Field = $('#enter1');

// LISTEN FOR KEYPRESS EVENT
enter1Field.keypress(function (e) {
if (e.keyCode == 13) {
//FIELD VALUES
var dateMonday = date1Field.val();
var emp1put1 = emp1put1Field.val();
var enter1 = enter1Field.val();

//SAVE DATA TO FIREBASE AND EMPTY FIELD
var obj1 = {};
obj1[dateMonday] = {
emp1:emp1put1,
}

dateMondayRef.set(obj1);
enter1Field.val('');
}
});

});

$(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 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 enter2 = enter2Field.val();

//SAVE DATA TO FIREBASE AND EMPTY FIELD
var obj = {};
obj[dateTuesday] = {
emp1:emp1put2
}

dateTuesdayRef.set(obj);
enter2Field.val('');
}
});

});

最佳答案

发生这种情况是因为您在同一引用(您的 dateMondayRefdateTuesdayRef)上使用 Firebase 的 set 方法而不是 update > 两者都指向同一个 Firebase 节点)。

如上所述in the docs , 设置

write or replace data

换句话说,当您在 ref 上调用 set 时,您指示 firebase 在此位置写入您作为参数传递的对象(或替换可能存储在那里的任何数据)。

您可以在此引用上使用 update (但这会保留 roster/$dateMonday 中存在但不包含在您的新对象中的任何子键)或获取对 dateMonday 节点的引用,并对其调用 set

dateMondayRef.update(obj1)
dateTuesdayRef.update(obj2)
// or
dateMondayRef.child(dateMonday).set({emp1: ...})
dateTuesdayRef.child(dateTuesday).set({emp1: ...})

关于javascript - Firebase 中的更新删除其他条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36870611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com