提问者:小点点

findByIdAndUpdate是否覆盖未修改的数据?


我正在使用findByIdAndUpdate更新修改的表单字段。

它是否覆盖了文档中甚至未在表单中修改的所有字段?


共1个答案

匿名用户

根据Mongoose的文件:

通过文档的_id字段发出mongodb findAndModify更新命令。findByIdandUpdate(id,...)findOneanDUpdate({_id:id},...)等效。

查找匹配的文档,根据update参数更新它,传递任何options,并将找到的文档(如果有)返回回调。如果传递了callback,则执行查询。

简而言之,它仅根据发送到findByIdandUpdate方法的对象覆盖选定文档的属性。如果您发送的对象没有修改属性,那么该属性将保持原样。

进一步阅读:猫鼬的文件关于这个话题。