Firebase ref.set() 会从其他表单字段中移除文本



我刚刚开始学习Firebase。

我在页面上有一个表单,它有多个文本区域元素。每个文本区域都有自己的提交按钮。当我在任何一个文本区域中写入文本并按下提交按钮时,该值将保存在数据库中。

但是,如果我在 Textarea-1 中键入一些文本并保持原样,然后在 Textarea-2 中键入一些文本并按提交按钮,则 Textarea-2 值保存在数据库中,但其他文本区域中的文本(在本例中为 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());   
} 

什么会导致问题?

.set(( 将覆盖文档中的数据,如果您不将其指定为merge

应该是这样的:

this.db.database.doc('birthDay/' + val1 + '/newUpdate').set(new Date().toDateString(), { merge: true }); 

您需要在set方法中设置merge

最新更新