mongodb 6.9.0-dev.20241010.sha.6ecf198f → 6.9.0-dev.20241011.sha.8def42de

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/lib/beta.d.ts +39 -1
  2. package/lib/cmap/wire_protocol/responses.js +3 -0
  3. package/lib/cmap/wire_protocol/responses.js.map +1 -1
  4. package/lib/cursor/client_bulk_write_cursor.js +1 -5
  5. package/lib/cursor/client_bulk_write_cursor.js.map +1 -1
  6. package/lib/error.js +24 -3
  7. package/lib/error.js.map +1 -1
  8. package/lib/index.js +4 -3
  9. package/lib/index.js.map +1 -1
  10. package/lib/mongo_client.js +3 -0
  11. package/lib/mongo_client.js.map +1 -1
  12. package/lib/operations/client_bulk_write/client_bulk_write.js +30 -10
  13. package/lib/operations/client_bulk_write/client_bulk_write.js.map +1 -1
  14. package/lib/operations/client_bulk_write/command_builder.js +62 -4
  15. package/lib/operations/client_bulk_write/command_builder.js.map +1 -1
  16. package/lib/operations/client_bulk_write/executor.js +43 -7
  17. package/lib/operations/client_bulk_write/executor.js.map +1 -1
  18. package/lib/operations/client_bulk_write/results_merger.js +116 -33
  19. package/lib/operations/client_bulk_write/results_merger.js.map +1 -1
  20. package/lib/operations/execute_operation.js +7 -0
  21. package/lib/operations/execute_operation.js.map +1 -1
  22. package/lib/operations/operation.js +5 -1
  23. package/lib/operations/operation.js.map +1 -1
  24. package/mongodb.d.ts +39 -1
  25. package/package.json +1 -1
  26. package/src/cmap/wire_protocol/responses.ts +4 -0
  27. package/src/cursor/client_bulk_write_cursor.ts +2 -8
  28. package/src/error.ts +44 -2
  29. package/src/index.ts +2 -0
  30. package/src/mongo_client.ts +5 -0
  31. package/src/operations/client_bulk_write/client_bulk_write.ts +36 -10
  32. package/src/operations/client_bulk_write/command_builder.ts +84 -5
  33. package/src/operations/client_bulk_write/common.ts +6 -0
  34. package/src/operations/client_bulk_write/executor.ts +48 -7
  35. package/src/operations/client_bulk_write/results_merger.ts +120 -40
  36. package/src/operations/execute_operation.ts +8 -0
  37. package/src/operations/operation.ts +6 -1
@@ -1 +1 @@
1
- {"version":3,"file":"command_builder.js","sourceRoot":"","sources":["../../../src/operations/client_bulk_write/command_builder.ts"],"names":[],"mappings":";;;AA4WA,wCAmBC;AA/XD,qCAAiD;AACjD,kDAAuD;AAGvD,uCAAiD;AA0BjD;;GAEG;AACH,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAEpC,gBAAgB;AAChB,MAAa,6BAA6B;IAOxC;;;OAGG;IACH,YACE,MAAiC,EACjC,OAA+B,EAC/B,SAAqB;QAErB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,0BAAkB,CAAC;QACjD,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,IAAI,UAAU;QACZ,IAAI,gBAAgB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,mBAA2B,EAAE,iBAAyB;QAC/D,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,qBAAqB,GAAG,CAAC,CAAC;QAC9B,MAAM,OAAO,GAA2B,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE7C,OAAO,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAClD,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC;YAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEnC,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBACpB,gEAAgE;gBAChE,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBACjE,MAAM,eAAe,GAAG,WAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAElD,mEAAmE;gBACnE,oEAAoE;gBACpE,wEAAwE;gBACxE,IACE,aAAa,GAAG,eAAe,CAAC,MAAM,GAAG,mBAAmB;oBAC5D,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,iBAAiB,EAChD,CAAC;oBACD,+FAA+F;oBAC/F,aAAa,GAAG,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;oBACtF,+CAA+C;oBAC/C,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,mEAAmE;oBACnE,uCAAuC;oBACvC,MAAM;gBACR,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,+EAA+E;gBAC/E,sDAAsD;gBACtD,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC;gBAC1C,MAAM,MAAM,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBAC1B,MAAM,YAAY,GAAG,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC5C,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,EAAE,qBAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC/E,MAAM,eAAe,GAAG,WAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAElD,4EAA4E;gBAC5E,sEAAsE;gBACtE,6EAA6E;gBAC7E,yBAAyB;gBACzB,IACE,aAAa,GAAG,YAAY,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,GAAG,mBAAmB;oBAClF,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,iBAAiB,EAChD,CAAC;oBACD,+FAA+F;oBAC/F,aAAa;wBACX,sBAAsB;4BACtB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC;4BACzC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;oBAC/C,8DAA8D;oBAC9D,qBAAqB,EAAE,CAAC;oBACxB,+CAA+C;oBAC/C,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,mEAAmE;oBACnE,uCAAuC;oBACvC,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QACD,kDAAkD;QAClD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QAC5C,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,WAAW;QACjB,MAAM,OAAO,GAA2B;YACtC,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI;YACrC,GAAG,EAAE,IAAI,2BAAgB,CAAC,KAAK,CAAC;YAChC,MAAM,EAAE,IAAI,2BAAgB,CAAC,QAAQ,CAAC;SACvC,CAAC;QACF,iEAAiE;QACjE,IAAI,IAAI,CAAC,OAAO,CAAC,wBAAwB,IAAI,IAAI,EAAE,CAAC;YAClD,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC;QAC3E,CAAC;QACD,4CAA4C;QAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;QACjC,CAAC;QAED,iEAAiE;QACjE,gDAAgD;QAChD,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QACzC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AA/ID,sEA+IC;AAQD;;;;;GAKG;AACI,MAAM,uBAAuB,GAAG,CACrC,KAA2B,EAC3B,KAAa,EACb,SAAoB,EACG,EAAE;IACzB,MAAM,QAAQ,GAA0B;QACtC,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC;IACF,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;IACnE,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAXW,QAAA,uBAAuB,2BAWlC;AAWF;;;;;GAKG;AACI,MAAM,uBAAuB,GAAG,CAAC,KAA2B,EAAE,KAAa,EAAY,EAAE;IAC9F,OAAO,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC,CAAC;AAFW,QAAA,uBAAuB,2BAElC;AAEF;;;;;GAKG;AACI,MAAM,wBAAwB,GAAG,CAAC,KAA4B,EAAE,KAAa,EAAY,EAAE;IAChG,OAAO,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACnD,CAAC,CAAC;AAFW,QAAA,wBAAwB,4BAEnC;AAEF;;GAEG;AACH,SAAS,qBAAqB,CAC5B,KAAmD,EACnD,KAAa,EACb,KAAc;IAEd,MAAM,QAAQ,GAA0B;QACtC,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC;IACF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7B,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IACvC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAcD;;;;;GAKG;AACI,MAAM,uBAAuB,GAAG,CACrC,KAA2B,EAC3B,KAAa,EACU,EAAE;IACzB,OAAO,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC,CAAC;AALW,QAAA,uBAAuB,2BAKlC;AAEF;;;;;GAKG;AACI,MAAM,wBAAwB,GAAG,CACtC,KAA4B,EAC5B,KAAa,EACU,EAAE;IACzB,OAAO,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACnD,CAAC,CAAC;AALW,QAAA,wBAAwB,4BAKnC;AAEF;;GAEG;AACH,SAAS,qBAAqB,CAC5B,KAAmD,EACnD,KAAa,EACb,KAAc;IAEd,MAAM,QAAQ,GAA0B;QACtC,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,KAAK,CAAC,MAAM;KACzB,CAAC;IACF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7B,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IACjC,CAAC;IACD,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACvB,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IAC7C,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IACvC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAaD;;;;;GAKG;AACI,MAAM,wBAAwB,GAAG,CACtC,KAA4B,EAC5B,KAAa,EACc,EAAE;IAC7B,MAAM,QAAQ,GAA8B;QAC1C,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,KAAK,CAAC,WAAW;KAC9B,CAAC;IACF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7B,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IACjC,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IACvC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AApBW,QAAA,wBAAwB,4BAoBnC;AAEF,gBAAgB;AAChB,SAAgB,cAAc,CAC5B,KAA8B,EAC9B,KAAa,EACb,SAAoB;IAEpB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,WAAW;YACd,OAAO,IAAA,+BAAuB,EAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1D,KAAK,WAAW;YACd,OAAO,IAAA,+BAAuB,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/C,KAAK,YAAY;YACf,OAAO,IAAA,gCAAwB,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAChD,KAAK,WAAW;YACd,OAAO,IAAA,+BAAuB,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/C,KAAK,YAAY;YACf,OAAO,IAAA,gCAAwB,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAChD,KAAK,YAAY;YACf,OAAO,IAAA,gCAAwB,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"command_builder.js","sourceRoot":"","sources":["../../../src/operations/client_bulk_write/command_builder.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ClientBulkWriteExecutor = void 0;
4
4
  const client_bulk_write_cursor_1 = require("../../cursor/client_bulk_write_cursor");
5
+ const error_1 = require("../../error");
5
6
  const write_concern_1 = require("../../write_concern");
6
7
  const execute_operation_1 = require("../execute_operation");
7
8
  const client_bulk_write_1 = require("./client_bulk_write");
@@ -19,9 +20,17 @@ class ClientBulkWriteExecutor {
19
20
  * @param options - The bulk write options.
20
21
  */
21
22
  constructor(client, operations, options) {
23
+ if (operations.length === 0) {
24
+ throw new error_1.MongoClientBulkWriteExecutionError('No client bulk write models were provided.');
25
+ }
22
26
  this.client = client;
23
27
  this.operations = operations;
24
- this.options = { ...options };
28
+ this.options = {
29
+ ordered: true,
30
+ bypassDocumentValidation: false,
31
+ verboseResults: false,
32
+ ...options
33
+ };
25
34
  // If no write concern was provided, we inherit one from the client.
26
35
  if (!this.options.writeConcern) {
27
36
  this.options.writeConcern = write_concern_1.WriteConcern.fromOptions(this.client.options);
@@ -48,14 +57,41 @@ class ClientBulkWriteExecutor {
48
57
  else {
49
58
  const resultsMerger = new results_merger_1.ClientBulkWriteResultsMerger(this.options);
50
59
  // For each command will will create and exhaust a cursor for the results.
51
- let currentBatchOffset = 0;
52
60
  while (commandBuilder.hasNextBatch()) {
53
61
  const cursor = new client_bulk_write_cursor_1.ClientBulkWriteCursor(this.client, commandBuilder, this.options);
54
- const docs = await cursor.toArray();
55
- const operations = cursor.operations;
56
- resultsMerger.merge(currentBatchOffset, operations, cursor.response, docs);
57
- // Set the new batch index so we can back back to the index in the original models.
58
- currentBatchOffset += operations.length;
62
+ try {
63
+ await resultsMerger.merge(cursor);
64
+ }
65
+ catch (error) {
66
+ // Write concern errors are recorded in the writeConcernErrors field on MongoClientBulkWriteError.
67
+ // When a write concern error is encountered, it should not terminate execution of the bulk write
68
+ // for either ordered or unordered bulk writes. However, drivers MUST throw an exception at the end
69
+ // of execution if any write concern errors were observed.
70
+ if (error instanceof error_1.MongoServerError && !(error instanceof error_1.MongoClientBulkWriteError)) {
71
+ // Server side errors need to be wrapped inside a MongoClientBulkWriteError, where the root
72
+ // cause is the error property and a partial result is to be included.
73
+ const bulkWriteError = new error_1.MongoClientBulkWriteError({
74
+ message: 'Mongo client bulk write encountered an error during execution'
75
+ });
76
+ bulkWriteError.cause = error;
77
+ bulkWriteError.partialResult = resultsMerger.result;
78
+ throw bulkWriteError;
79
+ }
80
+ else {
81
+ // Client side errors are just thrown.
82
+ throw error;
83
+ }
84
+ }
85
+ }
86
+ // If we have write concern errors or unordered write errors at the end we throw.
87
+ if (resultsMerger.writeConcernErrors.length > 0 || resultsMerger.writeErrors.size > 0) {
88
+ const error = new error_1.MongoClientBulkWriteError({
89
+ message: 'Mongo client bulk write encountered errors during execution.'
90
+ });
91
+ error.writeConcernErrors = resultsMerger.writeConcernErrors;
92
+ error.writeErrors = resultsMerger.writeErrors;
93
+ error.partialResult = resultsMerger.result;
94
+ throw error;
59
95
  }
60
96
  return resultsMerger.result;
61
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/operations/client_bulk_write/executor.ts"],"names":[],"mappings":";;;AAAA,oFAA8E;AAE9E,uDAAmD;AACnD,4DAAwD;AACxD,2DAA+D;AAC/D,uDAAkE;AAMlE,qDAAgE;AAEhE;;;GAGG;AACH,MAAa,uBAAuB;IAKlC;;;;;OAKG;IACH,YACE,MAAmB,EACnB,UAAqC,EACrC,OAAgC;QAEhC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QAE9B,oEAAoE;QACpE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,4BAAY,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO;QACX,uFAAuF;QACvF,sCAAsC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QAClD,MAAM,cAAc,GAAG,IAAI,+CAA6B,CACtD,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,OAAO,EACZ,SAAS,CACV,CAAC;QACF,wEAAwE;QACxE,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO,cAAc,CAAC,YAAY,EAAE,EAAE,CAAC;gBACrC,MAAM,SAAS,GAAG,IAAI,4CAAwB,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7E,MAAM,IAAA,oCAAgB,EAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,MAAM,aAAa,GAAG,IAAI,6CAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrE,0EAA0E;YAC1E,IAAI,kBAAkB,GAAG,CAAC,CAAC;YAC3B,OAAO,cAAc,CAAC,YAAY,EAAE,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,IAAI,gDAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBACpF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;gBACrC,aAAa,CAAC,KAAK,CAAC,kBAAkB,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAC3E,mFAAmF;gBACnF,kBAAkB,IAAI,UAAU,CAAC,MAAM,CAAC;YAC1C,CAAC;YACD,OAAO,aAAa,CAAC,MAAM,CAAC;QAC9B,CAAC;IACH,CAAC;CACF;AA9DD,0DA8DC"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/operations/client_bulk_write/executor.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ClientBulkWriteResultsMerger = void 0;
4
+ const __1 = require("../..");
5
+ const error_1 = require("../../error");
4
6
  /**
5
7
  * Merges client bulk write cursor responses together into a single result.
6
8
  * @internal
@@ -12,6 +14,9 @@ class ClientBulkWriteResultsMerger {
12
14
  */
13
15
  constructor(options) {
14
16
  this.options = options;
17
+ this.currentBatchOffset = 0;
18
+ this.writeConcernErrors = [];
19
+ this.writeErrors = new Map();
15
20
  this.result = {
16
21
  insertedCount: 0,
17
22
  upsertedCount: 0,
@@ -35,50 +40,128 @@ class ClientBulkWriteResultsMerger {
35
40
  * @param documents - The documents in the cursor.
36
41
  * @returns The current result.
37
42
  */
38
- merge(currentBatchOffset, operations, response, documents) {
39
- // Update the counts from the cursor response.
40
- this.result.insertedCount += response.insertedCount;
41
- this.result.upsertedCount += response.upsertedCount;
42
- this.result.matchedCount += response.matchedCount;
43
- this.result.modifiedCount += response.modifiedCount;
44
- this.result.deletedCount += response.deletedCount;
45
- if (this.options.verboseResults) {
46
- // Iterate all the documents in the cursor and update the result.
47
- for (const document of documents) {
43
+ async merge(cursor) {
44
+ let writeConcernErrorResult;
45
+ try {
46
+ for await (const document of cursor) {
48
47
  // Only add to maps if ok: 1
49
48
  if (document.ok === 1) {
50
- // Get the corresponding operation from the command.
51
- const operation = operations[document.idx];
52
- // Handle insert results.
53
- if ('insert' in operation) {
54
- this.result.insertResults?.set(document.idx + currentBatchOffset, {
55
- insertedId: operation.document._id
56
- });
49
+ if (this.options.verboseResults) {
50
+ this.processDocument(cursor, document);
57
51
  }
58
- // Handle update results.
59
- if ('update' in operation) {
60
- const result = {
61
- matchedCount: document.n,
62
- modifiedCount: document.nModified ?? 0,
63
- // Check if the bulk did actually upsert.
64
- didUpsert: document.upserted != null
65
- };
66
- if (document.upserted) {
67
- result.upsertedId = document.upserted._id;
68
- }
69
- this.result.updateResults?.set(document.idx + currentBatchOffset, result);
52
+ }
53
+ else {
54
+ // If an individual write error is encountered during an ordered bulk write, drivers MUST
55
+ // record the error in writeErrors and immediately throw the exception. Otherwise, drivers
56
+ // MUST continue to iterate the results cursor and execute any further bulkWrite batches.
57
+ if (this.options.ordered) {
58
+ const error = new error_1.MongoClientBulkWriteError({
59
+ message: 'Mongo client ordered bulk write encountered a write error.'
60
+ });
61
+ error.writeErrors.set(document.idx + this.currentBatchOffset, {
62
+ code: document.code,
63
+ message: document.errmsg
64
+ });
65
+ error.partialResult = this.result;
66
+ throw error;
70
67
  }
71
- // Handle delete results.
72
- if ('delete' in operation) {
73
- this.result.deleteResults?.set(document.idx + currentBatchOffset, {
74
- deletedCount: document.n
68
+ else {
69
+ this.writeErrors.set(document.idx + this.currentBatchOffset, {
70
+ code: document.code,
71
+ message: document.errmsg
75
72
  });
76
73
  }
77
74
  }
78
75
  }
79
76
  }
77
+ catch (error) {
78
+ if (error instanceof __1.MongoWriteConcernError) {
79
+ const result = error.result;
80
+ writeConcernErrorResult = {
81
+ insertedCount: result.nInserted,
82
+ upsertedCount: result.nUpserted,
83
+ matchedCount: result.nMatched,
84
+ modifiedCount: result.nModified,
85
+ deletedCount: result.nDeleted,
86
+ writeConcernError: result.writeConcernError
87
+ };
88
+ if (this.options.verboseResults && result.cursor.firstBatch) {
89
+ for (const document of result.cursor.firstBatch) {
90
+ if (document.ok === 1) {
91
+ this.processDocument(cursor, document);
92
+ }
93
+ }
94
+ }
95
+ }
96
+ else {
97
+ throw error;
98
+ }
99
+ }
100
+ finally {
101
+ // Update the counts from the cursor response.
102
+ if (cursor.response) {
103
+ const response = cursor.response;
104
+ this.incrementCounts(response);
105
+ }
106
+ // Increment the batch offset.
107
+ this.currentBatchOffset += cursor.operations.length;
108
+ }
109
+ // If we have write concern errors ensure they are added.
110
+ if (writeConcernErrorResult) {
111
+ const writeConcernError = writeConcernErrorResult.writeConcernError;
112
+ this.incrementCounts(writeConcernErrorResult);
113
+ this.writeConcernErrors.push({
114
+ code: writeConcernError.code,
115
+ message: writeConcernError.errmsg
116
+ });
117
+ }
80
118
  return this.result;
81
119
  }
120
+ /**
121
+ * Process an individual document in the results.
122
+ * @param cursor - The cursor.
123
+ * @param document - The document to process.
124
+ */
125
+ processDocument(cursor, document) {
126
+ // Get the corresponding operation from the command.
127
+ const operation = cursor.operations[document.idx];
128
+ // Handle insert results.
129
+ if ('insert' in operation) {
130
+ this.result.insertResults?.set(document.idx + this.currentBatchOffset, {
131
+ insertedId: operation.document._id
132
+ });
133
+ }
134
+ // Handle update results.
135
+ if ('update' in operation) {
136
+ const result = {
137
+ matchedCount: document.n,
138
+ modifiedCount: document.nModified ?? 0,
139
+ // Check if the bulk did actually upsert.
140
+ didUpsert: document.upserted != null
141
+ };
142
+ if (document.upserted) {
143
+ result.upsertedId = document.upserted._id;
144
+ }
145
+ this.result.updateResults?.set(document.idx + this.currentBatchOffset, result);
146
+ }
147
+ // Handle delete results.
148
+ if ('delete' in operation) {
149
+ this.result.deleteResults?.set(document.idx + this.currentBatchOffset, {
150
+ deletedCount: document.n
151
+ });
152
+ }
153
+ }
154
+ /**
155
+ * Increment the result counts.
156
+ * @param document - The document with the results.
157
+ */
158
+ incrementCounts(document) {
159
+ this.result.insertedCount += document.insertedCount;
160
+ this.result.upsertedCount += document.upsertedCount;
161
+ this.result.matchedCount += document.matchedCount;
162
+ this.result.modifiedCount += document.modifiedCount;
163
+ this.result.deletedCount += document.deletedCount;
164
+ }
82
165
  }
83
166
  exports.ClientBulkWriteResultsMerger = ClientBulkWriteResultsMerger;
84
167
  //# sourceMappingURL=results_merger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"results_merger.js","sourceRoot":"","sources":["../../../src/operations/client_bulk_write/results_merger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"results_merger.js","sourceRoot":"","sources":["../../../src/operations/client_bulk_write/results_merger.ts"],"names":[],"mappings":"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"}
@@ -168,6 +168,9 @@ async function tryOperation(operation, { topology, session, readPreference }) {
168
168
  originalError: previousOperationError
169
169
  });
170
170
  }
171
+ if (operation.hasAspect(operation_1.Aspect.COMMAND_BATCHING) && !operation.canRetryWrite) {
172
+ throw previousOperationError;
173
+ }
171
174
  if (hasWriteAspect && !(0, error_1.isRetryableWriteError)(previousOperationError))
172
175
  throw previousOperationError;
173
176
  if (hasReadAspect && !(0, error_1.isRetryableReadError)(previousOperationError))
@@ -189,6 +192,10 @@ async function tryOperation(operation, { topology, session, readPreference }) {
189
192
  }
190
193
  }
191
194
  try {
195
+ // If tries > 0 and we are command batching we need to reset the batch.
196
+ if (tries > 0 && operation.hasAspect(operation_1.Aspect.COMMAND_BATCHING)) {
197
+ operation.resetBatch();
198
+ }
192
199
  return await operation.execute(server, session);
193
200
  }
194
201
  catch (operationError) {
@@ -1 +1 @@
1
- {"version":3,"file":"execute_operation.js","sourceRoot":"","sources":["../../src/operations/execute_operation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute_operation.js","sourceRoot":"","sources":["../../src/operations/execute_operation.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,8 @@ exports.Aspect = {
11
11
  EXPLAINABLE: Symbol('EXPLAINABLE'),
12
12
  SKIP_COLLATION: Symbol('SKIP_COLLATION'),
13
13
  CURSOR_CREATING: Symbol('CURSOR_CREATING'),
14
- MUST_SELECT_SAME_SERVER: Symbol('MUST_SELECT_SAME_SERVER')
14
+ MUST_SELECT_SAME_SERVER: Symbol('MUST_SELECT_SAME_SERVER'),
15
+ COMMAND_BATCHING: Symbol('COMMAND_BATCHING')
15
16
  };
16
17
  /** @internal */
17
18
  const kSession = Symbol('session');
@@ -47,6 +48,9 @@ class AbstractOperation {
47
48
  clearSession() {
48
49
  this[kSession] = undefined;
49
50
  }
51
+ resetBatch() {
52
+ return true;
53
+ }
50
54
  get canRetryRead() {
51
55
  return this.hasAspect(exports.Aspect.RETRYABLE) && this.hasAspect(exports.Aspect.READ_OPERATION);
52
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../src/operations/operation.ts"],"names":[],"mappings":";;;AA6GA,sCAeC;AA5HD,kCAAuF;AACvF,wDAA6E;AAKhE,QAAA,MAAM,GAAG;IACpB,cAAc,EAAE,MAAM,CAAC,gBAAgB,CAAC;IACxC,eAAe,EAAE,MAAM,CAAC,iBAAiB,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC;IAClC,cAAc,EAAE,MAAM,CAAC,gBAAgB,CAAC;IACxC,eAAe,EAAE,MAAM,CAAC,iBAAiB,CAAC;IAC1C,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;CAClD,CAAC;AAsBX,gBAAgB;AAChB,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAEnC;;;;;;GAMG;AACH,MAAsB,iBAAiB;IAgBrC,YAAY,UAA4B,EAAE;QACxC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,cAAM,CAAC,eAAe,CAAC;YAC1D,CAAC,CAAC,gCAAc,CAAC,OAAO;YACxB,CAAC,CAAC,CAAC,gCAAc,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,gCAAc,CAAC,OAAO,CAAC,CAAC;QAEpE,oEAAoE;QACpE,IAAI,CAAC,WAAW,GAAG,IAAA,yBAAkB,EAAC,OAAO,CAAC,CAAC;QAE/C,IAAI,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAEvE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;QACvD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACjC,CAAC;IAQD,SAAS,CAAC,MAAc;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAwC,CAAC;QAC3D,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IAED,YAAY;QACV,IAAI,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,cAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,cAAM,CAAC,cAAc,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,cAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,cAAM,CAAC,eAAe,CAAC,CAAC;IACpF,CAAC;CACF;AA7DD,8CA6DC;AAED,SAAgB,aAAa,CAC3B,SAAoC,EACpC,OAAwC;IAExC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,YAAY,GAAG,CAAC,EAAE,CAAC;QACzD,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3B,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE;QAC1C,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../src/operations/operation.ts"],"names":[],"mappings":";;;AAkHA,sCAeC;AAjID,kCAAuF;AACvF,wDAA6E;AAKhE,QAAA,MAAM,GAAG;IACpB,cAAc,EAAE,MAAM,CAAC,gBAAgB,CAAC;IACxC,eAAe,EAAE,MAAM,CAAC,iBAAiB,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC;IAClC,cAAc,EAAE,MAAM,CAAC,gBAAgB,CAAC;IACxC,eAAe,EAAE,MAAM,CAAC,iBAAiB,CAAC;IAC1C,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,gBAAgB,EAAE,MAAM,CAAC,kBAAkB,CAAC;CACpC,CAAC;AAsBX,gBAAgB;AAChB,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAEnC;;;;;;GAMG;AACH,MAAsB,iBAAiB;IAgBrC,YAAY,UAA4B,EAAE;QACxC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,cAAM,CAAC,eAAe,CAAC;YAC1D,CAAC,CAAC,gCAAc,CAAC,OAAO;YACxB,CAAC,CAAC,CAAC,gCAAc,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,gCAAc,CAAC,OAAO,CAAC,CAAC;QAEpE,oEAAoE;QACpE,IAAI,CAAC,WAAW,GAAG,IAAA,yBAAkB,EAAC,OAAO,CAAC,CAAC;QAE/C,IAAI,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAEvE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;QACvD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACjC,CAAC;IAQD,SAAS,CAAC,MAAc;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAwC,CAAC;QAC3D,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IAED,YAAY;QACV,IAAI,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,cAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,cAAM,CAAC,cAAc,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,cAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,cAAM,CAAC,eAAe,CAAC,CAAC;IACpF,CAAC;CACF;AAjED,8CAiEC;AAED,SAAgB,aAAa,CAC3B,SAAoC,EACpC,OAAwC;IAExC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,YAAY,GAAG,CAAC,EAAE,CAAC;QACzD,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3B,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE;QAC1C,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/mongodb.d.ts CHANGED
@@ -1487,6 +1487,12 @@ export declare interface ChangeStreamUpdateDocument<TSchema extends Document = D
1487
1487
  fullDocumentBeforeChange?: TSchema;
1488
1488
  }
1489
1489
 
1490
+ /** @public */
1491
+ export declare interface ClientBulkWriteError {
1492
+ code: number;
1493
+ message: string;
1494
+ }
1495
+
1490
1496
  /** @public */
1491
1497
  export declare interface ClientBulkWriteOptions extends CommandOperationOptions {
1492
1498
  /**
@@ -5319,6 +5325,36 @@ export declare class MongoClientBulkWriteCursorError extends MongoRuntimeError {
5319
5325
  get name(): string;
5320
5326
  }
5321
5327
 
5328
+ /**
5329
+ * An error indicating that an error occurred when executing the bulk write.
5330
+ *
5331
+ * @public
5332
+ * @category Error
5333
+ */
5334
+ export declare class MongoClientBulkWriteError extends MongoServerError {
5335
+ /**
5336
+ * Write concern errors that occurred while executing the bulk write. This list may have
5337
+ * multiple items if more than one server command was required to execute the bulk write.
5338
+ */
5339
+ writeConcernErrors: Document[];
5340
+ /**
5341
+ * Errors that occurred during the execution of individual write operations. This map will
5342
+ * contain at most one entry if the bulk write was ordered.
5343
+ */
5344
+ writeErrors: Map<number, ClientBulkWriteError>;
5345
+ /**
5346
+ * The results of any successful operations that were performed before the error was
5347
+ * encountered.
5348
+ */
5349
+ partialResult?: ClientBulkWriteResult;
5350
+ /**
5351
+ * Initialize the client bulk write error.
5352
+ * @param message - The error message.
5353
+ */
5354
+ constructor(message: ErrorDescription);
5355
+ get name(): string;
5356
+ }
5357
+
5322
5358
  /**
5323
5359
  * An error indicating that an error occurred on the client when executing a client bulk write.
5324
5360
  *
@@ -5988,7 +6024,9 @@ export declare class MongoInvalidArgumentError extends MongoAPIError {
5988
6024
  *
5989
6025
  * @public
5990
6026
  **/
5991
- constructor(message: string);
6027
+ constructor(message: string, options?: {
6028
+ cause?: Error;
6029
+ });
5992
6030
  get name(): string;
5993
6031
  }
5994
6032
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mongodb",
3
- "version": "6.9.0-dev.20241010.sha.6ecf198f",
3
+ "version": "6.9.0-dev.20241011.sha.8def42de",
4
4
  "description": "The official MongoDB driver for Node.js",
5
5
  "main": "lib/index.js",
6
6
  "files": [
@@ -354,4 +354,8 @@ export class ClientBulkWriteCursorResponse extends CursorResponse {
354
354
  get deletedCount() {
355
355
  return this.get('nDeleted', BSONType.int, true);
356
356
  }
357
+
358
+ get writeConcernError() {
359
+ return this.get('writeConcernError', BSONType.object, false);
360
+ }
357
361
  }
@@ -1,7 +1,6 @@
1
1
  import { type Document } from 'bson';
2
2
 
3
3
  import { type ClientBulkWriteCursorResponse } from '../cmap/wire_protocol/responses';
4
- import { MongoClientBulkWriteCursorError } from '../error';
5
4
  import type { MongoClient } from '../mongo_client';
6
5
  import { ClientBulkWriteOperation } from '../operations/client_bulk_write/client_bulk_write';
7
6
  import { type ClientBulkWriteCommandBuilder } from '../operations/client_bulk_write/command_builder';
@@ -48,16 +47,11 @@ export class ClientBulkWriteCursor extends AbstractCursor {
48
47
  * We need a way to get the top level cursor response fields for
49
48
  * generating the bulk write result, so we expose this here.
50
49
  */
51
- get response(): ClientBulkWriteCursorResponse {
50
+ get response(): ClientBulkWriteCursorResponse | null {
52
51
  if (this.cursorResponse) return this.cursorResponse;
53
- throw new MongoClientBulkWriteCursorError(
54
- 'No client bulk write cursor response returned from the server.'
55
- );
52
+ return null;
56
53
  }
57
54
 
58
- /**
59
- * Get the last set of operations the cursor executed.
60
- */
61
55
  get operations(): Document[] {
62
56
  return this.commandBuilder.lastOperations;
63
57
  }
package/src/error.ts CHANGED
@@ -1,4 +1,8 @@
1
1
  import type { Document } from './bson';
2
+ import {
3
+ type ClientBulkWriteError,
4
+ type ClientBulkWriteResult
5
+ } from './operations/client_bulk_write/common';
2
6
  import type { ServerType } from './sdam/common';
3
7
  import type { TopologyVersion } from './sdam/server_description';
4
8
  import type { TopologyDescription } from './sdam/topology_description';
@@ -616,6 +620,44 @@ export class MongoGCPError extends MongoOIDCError {
616
620
  }
617
621
  }
618
622
 
623
+ /**
624
+ * An error indicating that an error occurred when executing the bulk write.
625
+ *
626
+ * @public
627
+ * @category Error
628
+ */
629
+ export class MongoClientBulkWriteError extends MongoServerError {
630
+ /**
631
+ * Write concern errors that occurred while executing the bulk write. This list may have
632
+ * multiple items if more than one server command was required to execute the bulk write.
633
+ */
634
+ writeConcernErrors: Document[];
635
+ /**
636
+ * Errors that occurred during the execution of individual write operations. This map will
637
+ * contain at most one entry if the bulk write was ordered.
638
+ */
639
+ writeErrors: Map<number, ClientBulkWriteError>;
640
+ /**
641
+ * The results of any successful operations that were performed before the error was
642
+ * encountered.
643
+ */
644
+ partialResult?: ClientBulkWriteResult;
645
+
646
+ /**
647
+ * Initialize the client bulk write error.
648
+ * @param message - The error message.
649
+ */
650
+ constructor(message: ErrorDescription) {
651
+ super(message);
652
+ this.writeConcernErrors = [];
653
+ this.writeErrors = new Map();
654
+ }
655
+
656
+ override get name(): string {
657
+ return 'MongoClientBulkWriteError';
658
+ }
659
+ }
660
+
619
661
  /**
620
662
  * An error indicating that an error occurred when processing bulk write results.
621
663
  *
@@ -1047,8 +1089,8 @@ export class MongoInvalidArgumentError extends MongoAPIError {
1047
1089
  *
1048
1090
  * @public
1049
1091
  **/
1050
- constructor(message: string) {
1051
- super(message);
1092
+ constructor(message: string, options?: { cause?: Error }) {
1093
+ super(message, options);
1052
1094
  }
1053
1095
 
1054
1096
  override get name(): string {
package/src/index.ts CHANGED
@@ -46,6 +46,7 @@ export {
46
46
  MongoBatchReExecutionError,
47
47
  MongoChangeStreamError,
48
48
  MongoClientBulkWriteCursorError,
49
+ MongoClientBulkWriteError,
49
50
  MongoClientBulkWriteExecutionError,
50
51
  MongoCompatibilityError,
51
52
  MongoCursorExhaustedError,
@@ -477,6 +478,7 @@ export type {
477
478
  } from './operations/aggregate';
478
479
  export type {
479
480
  AnyClientBulkWriteModel,
481
+ ClientBulkWriteError,
480
482
  ClientBulkWriteOptions,
481
483
  ClientBulkWriteResult,
482
484
  ClientDeleteManyModel,
@@ -493,6 +493,11 @@ export class MongoClient extends TypedEventEmitter<MongoClientEvents> implements
493
493
  models: AnyClientBulkWriteModel[],
494
494
  options?: ClientBulkWriteOptions
495
495
  ): Promise<ClientBulkWriteResult | { ok: 1 }> {
496
+ if (this.autoEncrypter) {
497
+ throw new MongoInvalidArgumentError(
498
+ 'MongoClient bulkWrite does not currently support automatic encryption.'
499
+ );
500
+ }
496
501
  return await new ClientBulkWriteExecutor(this, models, options).execute();
497
502
  }
498
503