【发布时间】:2022-01-22 15:36:53
【问题描述】:
我正在创建一个自定义 express 中间件来处理 mongoose 引发的错误。
error 有一个 message 属性:
//works as intended
console.log(error.message); //E11000 duplicate key error collection
但是当我想发送整个对象时,message 属性不显示:
res.status(400).json(error);
/*
recieved response:
{
"index": 0,
"code": 11000,
"keyPattern": {
"name": 1
},
"keyValue": {
"name": "Some Name"
}
}
*/
解构也不起作用:
res.status(400).json({ ...error });
//same response as before
它也没有在 Object.keys() 中显示:
console.log(Object.keys(error)); //[ 'index', 'code', 'keyPattern', 'keyValue' ]
但这个说法是正确的:
console.log("message" in error); //true
我不知道它为什么会这样,但解决方法是什么?
【问题讨论】:
标签: javascript express mongoose middleware