У меня есть настройка статического метода, которая проверяет, правильно ли объект следует схеме модели, и у меня сама проверка работает нормально, но я не могу заставить 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 ....
(Примечание: я использую Bluebird для своих обещаний JS, если это как-то связано с then/catch)
Выполнение скрипта продолжается вместе с кодом, так что это означает, что он на самом деле не уничтожает скрипт или что-то еще, а просто записывает ошибку в консоль. Но поскольку эта функция предназначена для проверки, на самом деле это не «ошибка», так есть ли способ скрыть это от консоли? (Только для этой функции, а не для ВСЕХ ошибок Mongoose)
Спасибо