オブジェクトがモデルのスキーマに適切に準拠しているかどうかを検証する静的メソッドのセットアップがあり、検証自体は問題なく機能してValidationErrorいますが、コンソールに表示されるエラーを Mongoose で非表示にすることはできません。
検証の静的メソッドは次のとおりです。
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 ....
(注: 何らかの形で then/catch と関係がある場合に備えて、JS の約束に Bluebird を使用しています)
スクリプトの実行はコードで続行されるため、実際にスクリプトなどを強制終了することはなく、コンソールにエラーを記録するだけです。しかし、この関数は検証を目的としているため、実際には「エラー」ではありません。コンソールからこれを非表示にする方法はありますか? (すべての Mongoose エラーではなく、この機能のためだけに)
ありがとう