findOneAndUpdate和更新的猫鼬差异

Soo*_*Koh 33 mongoose mongodb

findOneAndUpdate和更新有什么区别?两者都接受查询和doc更新的条件.

Bla*_*ven 49

那么有两个相应的文档可供查看.update(),.findAndModify()这是.findOneAndUpdate()这里的根方法.

但主要区别在于:

  • update():用于对集合中查询条件匹配的"一个或多个"文档执行原子更新操作.它返回其响应中修改过的文档的数量.

  • findOneAndUpdate():的目的是在"单数"文档上处理更新语句,以及检索该"单数"文档的内容.返回的状态取决于传递给操作的"new"选项的值.当true返回"修改"的文件.在false任何修改之前返回"原始"文档的地方.后一种形式是默认选项.

简而言之.一个是用"批量"修改而不用担心结果中的文档内容.另一个是修改单个文档并返回结果中的文档内容.

这就是区别.

  • 这个问题会更加一致,如下:mongoDB'getOneAndUpdate'和'updateOne'之间有什么区别,或/和mongoDB'update'和'findAndModify'之间有什么区别.性能? (5认同)

sty*_*ane 5

.findOneAndUpdate方法发出mongodb .findAndModifyupdate命令并将找到的文档(如果有的话)返回给回调,或者如果new选项是true,则返回修改后的文档而不是原始文档,.update并将查询作为update()操作执行.