javascript – Mongoose 4.x“model.update()”回调已更改
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – Mongoose 4.x“model.update()”回调已更改,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1244字,纯文字阅读大概需要2分钟。
内容图文
![javascript – Mongoose 4.x“model.update()”回调已更改](/upload/InfoBanner/zyjiaocheng/787/f64b95f2b26a44d88cc5f0f9894d1dd2.jpg)
在mongoose 4.x之前,在update()中,您可以检查回调中的第二个参数以查看是否找到了文档.在下面的示例中,您可以使用“rowAffected”查看是否存在包含用户名john的文档.
model.update({ username: "john" }, { ... }, function(err, rowAffected){
if (rowAffected) // document found
但是现在从mongoose 4.x开始,回调中的第二个参数成为MongoDB从更新操作的原始输出.因此,要查找文档是否存在,我必须执行raw.n.
model.update({ username: "john" }, { ... }, function(err, raw){
if (raw.n) // document found
我的问题是“rowAffected”和“raw.n”是一回事吗?如果是这样,当从3.x迁移到4.x时,将raw.n替换为raw.n的所有rowA是否安全?
解决方法:
是的,他们是一回事.根据4.0 release notes:
07001: Upgraded mongodb driver to 2.0.x. Mongoose is a wrapper layer on top of the MongoDB node driver. The mongodb driver recently
released version 2.0, which includes numerous performance and
usability improvements. The new driver, however, introduces a few
changes that affect the way you use Mongoose:
- If you are connecting to
a replica set, you must specify thereplicaSet
option in the
connection string.update
returns a result object from the MongoDB
server, rather than just the number affected. The second parameter to
the callback will now look like{ ok: 1, n: 3 }
rather than simply the
number affected.
内容总结
以上是互联网集市为您收集整理的javascript – Mongoose 4.x“model.update()”回调已更改全部内容,希望文章能够帮你解决javascript – Mongoose 4.x“model.update()”回调已更改所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。