要修改 mongoose 中现有条目中的字段,使用之间有什么区别
model = new Model([...])
model.field = 'new value';
model.save();
and this
Model.update({[...]}, {$set: {field: 'new value'});
我问这个问题的原因是因为有人对我昨天发布的问题提出了建议:NodeJS 和 Mongo - 多个用户同时发送请求时的意外行为。该人建议使用更新而不是保存,我还不确定为什么它会产生影响。
Thanks!
先说两个概念。您的申请是Client, Mongodb 是Server.
主要区别在于.save()
您的客户端代码中已经有一个对象,或者必须在写回之前从服务器检索数据,并且您正在写回整个内容。
另一方面.update()
does not要求将数据从服务器加载到客户端。所有交互都发生在服务器端,而不检索到客户端。所以.update()
当您向现有文档添加内容时,这种方式会非常有效。
此外,还有multi
参数为.update()
允许对多个符合查询条件的文档执行操作。
使用便捷方法时,您会失去一些东西.update()
作为调用,但某些操作的好处是你必须承担的“权衡”。有关此内容以及可用选项的更多信息,请参阅文档.
简而言之.save()
是客户端接口,.update()
是服务器端。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)