【发布时间】:2019-12-02 04:53:10
【问题描述】:
我编写了一个更新查询,它将通过_id 查找记录并更新。在我在该集合中添加新记录之前,此代码完全可以正常工作。如果添加一条记录并进行查询,它将进入成功部分,但返回 null 而不是数据。但是当我重新启动代码并尝试相同的操作时,它工作正常。我的方法是 PUT。
accept = (req, res) => {
var query = { _id: req.params.uid };
var updatevalue = { $set: { status: 3 } };
var options = { new: true }
this._model.findByIdAndUpdate(query, updatevalue, options, (err, obj) => {
if (err) {
res.send(err);
}
else {
res.send(obj);
}
});
}
请求
api.abc.com/api/accept/5cfe4dd898fd225ef1cabdsd
【问题讨论】:
-
您不必将 uid 转换为 ObjectId,因为 Mongoose 会在后台隐式转换它,只需在查询中执行
user: req.params.uid -
user 是 objectid 无所谓?
-
什么是“重启代码”?重新启动服务器还是更改代码中的某些内容然后重新设置?
标签: node.js mongodb amazon-web-services mongoose