我有一个静态方法设置,它将验证对象是否正确遵循模型的模式,并且验证本身工作得很好,但我无法让 Mongoose 隐藏ValidationError
控制台中显示的错误。
验证的静态方法是:
fieldSchema.statics.testValidate = function( field ) {
return new Promise( ( res, rej ) => {
new this( field ).validate( err => {
if ( err ) return rej( err )
res( true )
} )
})
}
然后当我执行它时:
Field.testValidate( fieldData )
.then(data => {
console.log('OK!', data)
})
.catch( err => {
console.error('FAILED:',err)
})
.finally(() => Mongoose.connection.close())
就像我说的,我可以用它来验证数据,但它总是会显示这个错误:
Unhandled rejection ValidationError: Field validation failed
at MongooseError.ValidationError ....
(注意:我在我的 JS 承诺中使用 Bluebird,以防它与 then/catch 有任何关系)
脚本继续执行代码,这意味着它实际上并没有杀死脚本或任何东西,它只是将错误记录到控制台。但是由于这个函数是用来验证的,它并不是一个真正的“错误”,所以有没有办法从控制台隐藏它?(仅针对此功能,不适用于所有 Mongoose 错误)
谢谢