nodejs mongodb查询日志丢失

时间:2017-07-22 23:58:16

标签: node.js mongodb mongoose

我从nodejs执行查询以更新(使用updateOne函数)一个字段,从mongo shell或robomongo执行完全相同的查询工作正常它更新返回的对象:

{
"ok": 1,
"n": 1,
"nModified": 1
}

我可以在日志文件中看到跟踪。 但是,从我的nodejs脚本中,查询确实返回以下内容:

{
"ok": 0,
"n": 0,
"nModified": 0
}

我无法在日志中看到痕迹。

我正在使用: nodejs --version:v6.11.1 和

├─┬ mongojs@2.4.0
│ ├─┬ mongodb@2.2.30
│ │ ├─┬ mongodb-core@2.1.14
│ ├── parse-mongo-url@1.1.1
│ ├── to-mongodb-core@2.0.0
├─┬ mongoose@4.10.5
│ ├─┬ mongodb@2.2.27
│ │ ├── mongodb-core@2.1.11

有什么想法吗?

1-结果是什么意思?

2-为什么它不在日志文件中

谢谢

以下是我对Robomongo的询问:

enter image description here

与nodejs的不同数据相同的查询:

enter image description here

代码的输出:

     {
        "username": "adh4"
} ,
 {
        "$set": {
                "portfolio.account.$.status": "test"
        }
}
[[11:32:33.524]] [LOG]   <acc> { ok: 0, n: 0, nModified: 0 }
[[11:32:33.525]] [LOG]   -------------------------------------------------END

2 个答案:

答案 0 :(得分:-1)

这将有助于您调查:

mongoose.set('debug', true);

可能是其中一个原因:

  • 错误的收藏名称
  • 不再需要更新的对象

答案 1 :(得分:-1)

我猜...你已经从你的终端运行了更新查询...这意味着你现在要更新的文件......现在根据你的查询进行了更新......

现在再次想要从代码中运行相同的查询...它会给你0次修改,因为  您已通过手动更新查询来更新终端中的文档

进行调试..你可以使用robomongo ...... 我要告诉你怎么样 首先手动编辑robomongo中的文档 然后再次点击相同的API 您现在将成功更新文档