我从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的询问:
与nodejs的不同数据相同的查询:
代码的输出:
{
"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
答案 0 :(得分:-1)
这将有助于您调查:
mongoose.set('debug', true);
可能是其中一个原因:
答案 1 :(得分:-1)
我猜...你已经从你的终端运行了更新查询...这意味着你现在要更新的文件......现在根据你的查询进行了更新......
现在再次想要从代码中运行相同的查询...它会给你0次修改,因为 您已通过手动更新查询来更新终端中的文档
进行调试..你可以使用robomongo ...... 我要告诉你怎么样 首先手动编辑robomongo中的文档 然后再次点击相同的API 您现在将成功更新文档