@@ -68,6 +68,7 @@ const utils = require('./utils');
6868const minimize = require ( './helpers/minimize' ) ;
6969const MongooseBulkSaveIncompleteError = require ( './error/bulkSaveIncompleteError' ) ;
7070const ObjectExpectedError = require ( './error/objectExpected' ) ;
71+ const decorateBulkWriteResult = require ( './helpers/model/decorateBulkWriteResult' ) ;
7172
7273const modelCollectionSymbol = Symbol ( 'mongoose#Model#collection' ) ;
7374const modelDbSymbol = Symbol ( 'mongoose#Model#db' ) ;
@@ -3401,9 +3402,7 @@ Model.bulkWrite = async function bulkWrite(ops, options) {
34013402 const BulkWriteResult = this . base . driver . get ( ) . BulkWriteResult ;
34023403 const bulkWriteResult = new BulkWriteResult ( getDefaultBulkwriteResult ( ) , false ) ;
34033404 bulkWriteResult . n = 0 ;
3404- bulkWriteResult . mongoose = bulkWriteResult . mongoose || { } ;
3405- bulkWriteResult . mongoose . validationErrors = [ ] ;
3406- bulkWriteResult . mongoose . results = [ ] ;
3405+ decorateBulkWriteResult ( bulkWriteResult , [ ] , [ ] ) ;
34073406 return bulkWriteResult ;
34083407 }
34093408
@@ -3478,9 +3477,7 @@ Model.bulkWrite = async function bulkWrite(ops, options) {
34783477 const BulkWriteResult = this . base . driver . get ( ) . BulkWriteResult ;
34793478 const bulkWriteResult = new BulkWriteResult ( getDefaultBulkwriteResult ( ) , false ) ;
34803479 bulkWriteResult . result = getDefaultBulkwriteResult ( ) ;
3481- bulkWriteResult . mongoose = bulkWriteResult . mongoose || { } ;
3482- bulkWriteResult . mongoose . validationErrors = validationErrors ;
3483- bulkWriteResult . mongoose . results = results ;
3480+ decorateBulkWriteResult ( bulkWriteResult , validationErrors , results ) ;
34843481 return bulkWriteResult ;
34853482 }
34863483
@@ -3489,10 +3486,12 @@ Model.bulkWrite = async function bulkWrite(ops, options) {
34893486 then ( res => ( [ res , null ] ) ) .
34903487 catch ( error => ( [ null , error ] ) ) ;
34913488
3489+ for ( let i = 0 ; i < validOpIndexes . length ; ++ i ) {
3490+ results [ validOpIndexes [ i ] ] = null ;
3491+ }
34923492 if ( error ) {
34933493 if ( validationErrors . length > 0 ) {
3494- error . mongoose = error . mongoose || { } ;
3495- error . mongoose . validationErrors = validationErrors ;
3494+ decorateBulkWriteResult ( error , validationErrors , results ) ;
34963495 }
34973496
34983497 await new Promise ( ( resolve , reject ) => {
@@ -3506,9 +3505,6 @@ Model.bulkWrite = async function bulkWrite(ops, options) {
35063505 } ) ;
35073506 }
35083507
3509- for ( let i = 0 ; i < validOpIndexes . length ; ++ i ) {
3510- results [ validOpIndexes [ i ] ] = null ;
3511- }
35123508 if ( validationErrors . length > 0 ) {
35133509 if ( options . throwOnValidationError ) {
35143510 throw new MongooseBulkWriteError (
@@ -3518,9 +3514,7 @@ Model.bulkWrite = async function bulkWrite(ops, options) {
35183514 'bulkWrite'
35193515 ) ;
35203516 } else {
3521- res . mongoose = res . mongoose || { } ;
3522- res . mongoose . validationErrors = validationErrors ;
3523- res . mongoose . results = results ;
3517+ decorateBulkWriteResult ( res , validationErrors , results ) ;
35243518 }
35253519 }
35263520 }
0 commit comments