update是可以单独更新某几个字段,save是直接把整个文档给删除替换掉
请问这两种 那种效率更高还是差不多?
现在项目有些地方保存都是千篇一律的save(),有的明明也就更新name一两个字段 也进行了save操作,有点疑惑
boycestar 已回答的问题
列几点自己的了解,希望对你有帮助。
- 首先
update 是服务端方(命)法(令)
save 是客户端或者驱动程序封装的。比如 mongoose 中对 save 解释为,save 和 update 的区别是save 只更新更改的字段。 - 其次
update 可以不用客户端加载数据直接更新(也即是,可以理解为全部在服务端执行),添加文档的时候,更有效一些。 - 再次
update 可以使用条件更新[0,+无穷)文档 - 最后
具体还要看你使用驱动程序的详细文档。
如果文档不是巨大无比,以现在应用服务和数据库服务的硬件资源来看,可以不用过于纠结,实际效果差不了多少。
boycestar 编辑答案