我有一个奇怪的问题。我想用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>
对于解决这个问题的任何建议,我将非常感激。谢谢!