@@ -44,11 +44,13 @@ export class ClientBulkWriteResultsMerger {
4444
4545 /**
4646 * Merge the results in the cursor to the existing result.
47+ * @param currentBatchOffset - The offset index to the original models.
4748 * @param response - The cursor response.
4849 * @param documents - The documents in the cursor.
4950 * @returns The current result.
5051 */
5152 merge (
53+ currentBatchOffset : number ,
5254 operations : Document [ ] ,
5355 response : ClientBulkWriteCursorResponse ,
5456 documents : Document [ ]
@@ -69,7 +71,9 @@ export class ClientBulkWriteResultsMerger {
6971 const operation = operations [ document . idx ] ;
7072 // Handle insert results.
7173 if ( 'insert' in operation ) {
72- this . result . insertResults ?. set ( document . idx , { insertedId : operation . document . _id } ) ;
74+ this . result . insertResults ?. set ( document . idx + currentBatchOffset , {
75+ insertedId : operation . document . _id
76+ } ) ;
7377 }
7478 // Handle update results.
7579 if ( 'update' in operation ) {
@@ -80,11 +84,13 @@ export class ClientBulkWriteResultsMerger {
8084 if ( document . upserted ) {
8185 result . upsertedId = document . upserted . _id ;
8286 }
83- this . result . updateResults ?. set ( document . idx , result ) ;
87+ this . result . updateResults ?. set ( document . idx + currentBatchOffset , result ) ;
8488 }
8589 // Handle delete results.
8690 if ( 'delete' in operation ) {
87- this . result . deleteResults ?. set ( document . idx , { deletedCount : document . n } ) ;
91+ this . result . deleteResults ?. set ( document . idx + currentBatchOffset , {
92+ deletedCount : document . n
93+ } ) ;
8894 }
8995 }
9096 }
0 commit comments