【发布时间】:2020-09-12 16:55:07
【问题描述】:
我正在使用 Express 的错误处理,并且我曾经使用数组返回 MongoDB 错误的无效数据
我用过
else if (process.env.NODE_ENV === 'production') {
let error = { ...err };
if (error.name === 'CastError') error = handleCastErrorDB(error);
if (error.code === 11000) error = handleDuplicateFieldsDB(error);
if (error.name === 'ValidationError')
error = handleValidationErrorDB(error);
sendErrorProd(err, res);
}
但它不适用于 process.env.NODE_ENV === 'production'
因为 let (error = { ...err };)
【问题讨论】:
-
你想用
let error = { ...err };做什么? (一方面,这不是解构。它是休息符号。) -
如果问题是它在生产环境中不起作用,那么您的生产环境似乎不支持 ES2018 中添加的对象休息表示法。如果您将环境中的 Node 版本升级到可以接受的最新版本,它应该会开始工作。
-
“它不起作用”是什么意思?
-
我要显示所有的(CastError,ValidationError,11000) 不是一个一个
-
它适用于我的这个
标签: javascript mongodb error-handling