【发布时间】:2020-10-24 13:21:20
【问题描述】:
我想查找记录并更新 mongoose 和 nodejs 中的记录。
async DeleteRole(req, res, next) {
let validationData = await this.ValidationAction(req, res);
if (validationData[0]) {
Role.findByIdAndUpdate(
req.params.id,
{ $set: { isDelete: true } },
{ useFindAndModify: false },
(error, role)=> {
console.log(role)
if (error) next(error);
if (!role) return res.status(200).send({
message: "NotFoundRecord",
statusCode: 200,
success: false,
});
}
);
return res.status(200).send({
message: "Success",
statusCode: 200,
success: true,
});
}
return res.status(200).send({
message: "BadREquest",
statusCode: 400,
success: false,
});
}
我想在找不到记录时向我显示未找到记录的错误并解决其他问题。
但是当我发送请求时,它会显示这个错误:
F:\Projects\Nodejs\SalesSignal\node_modules\mongoose\lib\helpers\promiseOrCallback.js:19 抛出错误; ^
错误 [ERR_HTTP_HEADERS_SENT]:在将标头发送到客户端后无法设置标头
在 ServerResponse.setHeader (_http_outgoing.js:533:11)
在 ServerResponse.header (F:\Projects\Nodejs\SalesSignal\node_modules\express\lib\response.js:771:10)
在 ServerResponse.send (F:\Projects\Nodejs\SalesSignal\node_modules\express\lib\response.js:170:12)
在 ServerResponse.json (F:\Projects\Nodejs\SalesSignal\node_modules\express\lib\response.js:267:15)
在 ServerResponse.send (F:\Projects\Nodejs\SalesSignal\node_modules\express\lib\response.js:158:21)
在 RoleController.Notfound (F:\Projects\Nodejs\SalesSignal\src\http\controller\BaseController.js:26:28)
在 F:\Projects\Nodejs\SalesSignal\src\http\controller\RoleController.js:25:34
在 F:\Projects\Nodejs\SalesSignal\node_modules\mongoose\lib\model.js:4882:16
在 F:\Projects\Nodejs\SalesSignal\node_modules\mongoose\lib\model.js:4882:16
在 F:\Projects\Nodejs\SalesSignal\node_modules\mongoose\lib\model.js:4882:16
在 F:\Projects\Nodejs\SalesSignal\node_modules\mongoose\lib\helpers\promiseOrCallback.js:16:11
在 F:\Projects\Nodejs\SalesSignal\node_modules\mongoose\lib\model.js:4905:21
在 F:\Projects\Nodejs\SalesSignal\node_modules\mongoose\lib\query.js:4382:18
在 model.Query.Query._findAndModify (F:\Projects\Nodejs\SalesSignal\node_modules\mongoose\lib\query.js:3462:12)
在模型.查询。 (F:\Projects\Nodejs\SalesSignal\node_modules\mongoose\lib\query.js:3037:8)
在 model.Query._wrappedThunk [as _findOneAndUpdate] (F:\Projects\Nodejs\SalesSignal\node_modules\mongoose\lib\helpers\query\wrapThunk.js:16:8)
在函数实例上发出“错误”事件:
**现在我要拖东西:A => 找到查找和更新记录并解决此问题的最佳方法?我怎么解决这个问题 ??? **
【问题讨论】:
-
Role.findByIdAndUpdate不返回一个承诺,以便您也可以在那里使用await吗?
标签: javascript node.js