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

相關文章
相關標籤/搜索