我刚刚开始学习Firebase。
我在页面上有一个表单,它有多个textarea元素。每个文本区都有自己的提交按钮。当我在任何一个文本区域中写入文本并按下submit按钮时,该值保存在数据库中。
但是,如果我在Textarea-1中键入一些文本并保持原样,然后在Textarea-2中键入一些文本并按submit按钮,则Textarea-2值将保存在数据库中,但其他Textarea中的文本(在本例中为Textarea-1)将被删除。在保存数据的函数中,我还使用以下代码设置当前日期:
addMyValues(val1, val2, val3, val4) {
this.db.database.ref('profiles/' + new Date().toDateString() + '/' + val1).push({
name : val2.dispName,
email : val2.email,
phone : val3
});
this.db.database.ref('birthDay/' + val1 + '/newUpdate').set(new Date().toDateString());
} 是什么导致了这个问题?
发布于 2019-09-19 23:28:05
如果不将文档中的数据指定给merge,则.set()将覆盖文档中的数据
应该是这样的:
this.db.database.doc('birthDay/' + val1 + '/newUpdate').set(new Date().toDateString(), { merge: true }); 您需要在set方法中设置merge
https://stackoverflow.com/questions/58012919
复制相似问题