mongoose里.save()/update()/findOneAndUpdate()的区别

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

.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...node

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

相关文章
相关标签/搜索