4

打个广告 mongoose 中文文档翻译招募中 https://github.com/ssshooter/...

.save()和update()

  • update比find之后save()效率高,因为这样不用读取整个文档。
  • Mongoose的update是MongoDB的update,但是Mongoose的save可能是MongoDB的插入或是update。
  • 关于save,mongoose会自动diff新文档,只更改更新部分。这有利于原子性。
  • update不能触发中间件,validation默认不能,但是可以修改。

update()和findOneAndUpdate()

  • update()返回数据处理条数
  • findOneAndUpdate()返回处理后的数据
  • 简单来说,你需要获取数据就用findOneAndUpdate(),只需要修改数据而不关注修改后数据那就用update()。

参考文章
https://stackoverflow.com/que...
https://stackoverflow.com/que...

http://www.nodeclass.com/api/...


ssshooter
3.7k 声望1.8k 粉丝