面试题答案
一键面试功能差异
- update方法:主要用于更新已有文档。它可根据指定条件,对匹配的文档进行部分字段更新或替换操作。若不存在匹配文档,默认不插入新文档(除非使用
upsert
选项)。 - save方法:如果文档已有
_id
,则会根据_id
来更新整个文档;若文档没有_id
,则会将其作为新文档插入到集合中。
参数使用差异
- update方法:通常接受三个参数,
update(query, update, options)
。query
为查询条件,用于筛选要更新的文档;update
为更新操作符或文档,定义如何更新匹配的文档;options
为可选参数,例如upsert
(设置为true
时若文档不存在则插入新文档)、multi
(设置为true
时可更新多个匹配文档,默认为false
只更新第一个匹配文档)。 - save方法:接受一个文档参数,即要保存的文档对象。若文档有
_id
,它会用此文档替换集合中_id
匹配的文档;若没有_id
,则将该文档作为新文档插入。