gpt4 book ai didi

javascript - Firebase 推送不是添加而是替换 (JavaScript)

转载 作者:行者123 更新时间:2023-11-28 00:27:13 25 4
gpt4 key购买 nike

我正在使用以下代码向某人(“leerling”)添加备注(“opm”)。

function onFormSubmitted()
{
event.preventDefault();

var ref = new Firebase("https://mydatabase.firebaseio.com/");
var _leerling = document.getElementById("Leerling").value;
var _opmerking = document.getElementById("Opmerking").value;

var postsRef = ref.child("opmerkingen");
var newPostRef = postsRef.push({
leerling: _leerling,
opmerking: _opmerking
});

var postID = newPostRef.key();
var leerlingRef = ref.child("leerling").child(_leerling);

leerlingRef.once('value', function(snapshot) {

if( snapshot.val() === null ) {
/* does not exist */

var leerlingNummer = _leerling.substring(0,6).trim();
ref.child("leerling").child(leerlingNummer).set({
"naam": _leerling.substring(7,33).trim(),
"klas": _leerling.substring(34,38)
})
ref.child("leerling").child(leerlingNummer).child("opmerkingen").push({
"opmID": postID
})

} else {
var leerlingPostRef = snapshot.ref().child("opmerkingen)");
leerlingPostRef.push({"opmID": postID});
}
});
}

在代码 postsRef.push 的开头,按预期添加了对 opmerkingen 子项(在根目录中)的注释。

在代码末尾,据我所知,我对 leerling 的 opmerkingen 子项执行了相同的操作(leerlingPostRef.push),但是整个 opmerkingen 子项被替换,删除现有的 opm: postID 而不是添加一。

什么问题以及如何解决?

最佳答案

当我从常规输入 type='text' 字段传递 leerling 时,它工作正常,但是当我从选择选项输入字段传递它时,它按照描述失败了。

解决方案:

var leerlingRef = ref.child("leerling").child(_leerling.substring(0,6).trim()); 

而不是

var leerlingRef = ref.child("leerling").child(_leerling); 

第 15 行

关于javascript - Firebase 推送不是添加而是替换 (JavaScript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29377925/

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