更新数据库中的模型(更新或覆盖)

时间:2016-01-04 23:51:50

标签: javascript mongodb

在数据库中更新模型时,更新特定字段或用字段覆盖同一级别的其他对象是否更好?

1 个答案:

答案 0 :(得分:0)

来自MongoDB文档:

  

update()方法可以修改现有文档中的特定字段,也可以完全替换现有文档。   更新特定字段   如果<update>文档包含更新运算符修饰符,例如   使用$ set修饰符的那些,然后:

     

<update>文档必须只包含更新运算符表达式。   update()方法仅更新中的相应字段   文献。要整体更新嵌入的文档或数组,   指定字段的替换值。要更新特定   嵌入文档或数组中的字段,使用点表示法   指定字段。

     

完全替换文档如果<update>文档仅包含   field:value表达式,然后:

     

update()方法用<update>替换匹配的文档   文献。 update()方法不替换_id值。为   例如,请参阅替换所有字段。 update()无法更新多个   文档。

我个人的意见是也要覆盖依赖对象,以便保持适当的版本控制。如果没有更新ID或者id没有改变,那么更新应该完成工作。但是如果你想维护版本控制,最好覆盖整个对象。