首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >猫鼬4.x "model.update()“回调更改

猫鼬4.x "model.update()“回调更改
EN

Stack Overflow用户
提问于 2015-05-18 02:40:55
回答 1查看 1.4K关注 0票数 4

在mongoose 4.x之前,在update()中,您可以检查回调中的第二个参数,以查看是否找到了该文档。在下面的示例中,您可以使用"rowAffected“来查看是否存在用户名为john的文档。

代码语言:javascript
复制
model.update({ username: "john" }, { ... }, function(err, rowAffected){ 
    if (rowAffected) // document found

但是现在从mongoose 4.x中,回调中的第二个参数成为MongoDB从更新操作中的原始输出。因此,如果文档存在,我必须执行raw.n

代码语言:javascript
复制
model.update({ username: "john" }, { ... }, function(err, raw){ 
    if (raw.n) // document found

我的问题是,"rowAffected“和"raw.n”是同一个吗?如果是这样的话,在从3.x迁移到4.x时,用raw.n替换所有rowAffected是否安全?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-18 03:16:57

是的,它们是一样的。根据4.0发行说明

#2552:将mongodb驱动程序升级到2.0.x。Mongoose是MongoDB节点驱动程序之上的包装层。mongodb驱动程序最近发布了2.0版本,其中包括许多性能和可用性改进。然而,新的驱动程序引入了一些影响您使用Mongoose的方式的更改:

  • 如果要连接到副本集,则必须在连接字符串中指定replicaSet选项。
  • update 从MongoDB服务器返回结果对象,而不仅仅是受影响的数字。回调的第二个参数现在看起来像,而不仅仅是受影响的数字。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30294355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档