MST

星途 面试题库

面试题:MongoDB中update与save方法在更新文档时的基本差异

请阐述在MongoDB里,update方法和save方法在更新文档操作上,从功能、参数使用方面有哪些基本的差异?
21.9万 热度难度
数据库MongoDB

知识考点

AI 面试

面试题答案

一键面试

功能差异

  • update方法:主要用于更新已有文档。它可根据指定条件,对匹配的文档进行部分字段更新或替换操作。若不存在匹配文档,默认不插入新文档(除非使用upsert选项)。
  • save方法:如果文档已有_id,则会根据_id来更新整个文档;若文档没有_id,则会将其作为新文档插入到集合中。

参数使用差异

  • update方法:通常接受三个参数,update(query, update, options)query为查询条件,用于筛选要更新的文档;update为更新操作符或文档,定义如何更新匹配的文档;options为可选参数,例如upsert(设置为true时若文档不存在则插入新文档)、multi(设置为true时可更新多个匹配文档,默认为false只更新第一个匹配文档)。
  • save方法:接受一个文档参数,即要保存的文档对象。若文档有_id,它会用此文档替换集合中_id匹配的文档;若没有_id,则将该文档作为新文档插入。