Firebase数据写入问题:代码正常运行但覆盖旧数据而非更新
解决数据被覆盖的问题
- 你当前使用的
set()方法会直接替换address路径下的所有数据,这就是原有数据被覆盖的核心原因。 - 若要实现增量更新(仅修改指定字段,保留其他原有数据),只需将
set()替换为update()方法:
const Push = (e) => { e.preventDefault(); database.ref("address").update({ state: user.state, district: user.district, street: user.street, building: user.building, }).catch(alert); }
- 如果你的需求是在
address节点下新增多条独立记录(而非更新同一条数据),可以使用push()方法,它会自动生成唯一ID,避免覆盖已有内容:
const Push = (e) => { e.preventDefault(); database.ref("address").push({ state: user.state, district: user.district, street: user.street, building: user.building, }).catch(alert); }
内容的提问来源于stack exchange,提问作者Divya Agarwal
相关产品推荐
相关产品推荐

