File tree Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ const Document = require('./document');
1010const DocumentNotFoundError = require ( './error/notFound' ) ;
1111const EventEmitter = require ( 'events' ) . EventEmitter ;
1212const Kareem = require ( 'kareem' ) ;
13+ const { MongoBulkWriteError } = require ( 'mongodb' ) ;
1314const MongooseBulkWriteError = require ( './error/bulkWriteError' ) ;
1415const MongooseError = require ( './error/index' ) ;
1516const ObjectParameterError = require ( './error/objectParameter' ) ;
@@ -3417,6 +3418,11 @@ Model.bulkSave = async function bulkSave(documents, options) {
34173418 ( err ) => ( { bulkWriteResult : null , bulkWriteError : err } )
34183419 ) ;
34193420
3421+ // If not a MongoBulkWriteError, treat this as all documents failed to save.
3422+ if ( bulkWriteError != null && ! ( bulkWriteError instanceof MongoBulkWriteError ) ) {
3423+ throw bulkWriteError ;
3424+ }
3425+
34203426 const matchedCount = bulkWriteResult ?. matchedCount ?? 0 ;
34213427 const insertedCount = bulkWriteResult ?. insertedCount ?? 0 ;
34223428 if ( writeOperations . length > 0 && matchedCount + insertedCount < writeOperations . length && ! bulkWriteError ) {
You can’t perform that action at this time.
0 commit comments