Mongoose的findByIdAndUpdate不会改变数据库的状态

时间:2018-01-11 22:29:39

标签: node.js mongodb mongoose

我有一个奇怪的问题。我想用mongoose.findByIdAndUpdate方法更新MongoDB中的文档,但似乎没有用。代码是:

Device.findByIdAndUpdate(
    req.params.id,
    { $set: { power: power } },
    { new: true },
    (err, device) => { ... }

我没有收到任何错误,但回调中返回的device没有更新的值。起初我想也许是{ new: true }选项告诉mongoose返回更新文档的某种问题,但后来我检查了数据库,那里的值也没有更新。

我也尝试用findByIdAndUpdate函数替换update,但结果是一样的 - 数据库没有得到更新。

如果它改变了什么我在其他地方使用mongoose.update()功能,它工作正常。我还尝试了在这里更新值的“经典”方法 - 这意味着我使用了findOne函数,然后更改了返回文档的power字段值和save d它并且它也运行正常。< / p>

对于解决这个问题的任何建议,我将非常感激。谢谢!

0 个答案:

没有答案