mongodb 4.7.0 → 4.9.0

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 (127) hide show
  1. package/lib/bson.js +4 -2
  2. package/lib/bson.js.map +1 -1
  3. package/lib/bulk/common.js +1 -0
  4. package/lib/bulk/common.js.map +1 -1
  5. package/lib/change_stream.js +136 -271
  6. package/lib/change_stream.js.map +1 -1
  7. package/lib/cmap/command_monitoring_events.js +2 -32
  8. package/lib/cmap/command_monitoring_events.js.map +1 -1
  9. package/lib/cmap/commands.js +1 -153
  10. package/lib/cmap/commands.js.map +1 -1
  11. package/lib/cmap/connect.js +3 -6
  12. package/lib/cmap/connect.js.map +1 -1
  13. package/lib/cmap/connection.js +21 -84
  14. package/lib/cmap/connection.js.map +1 -1
  15. package/lib/cmap/connection_pool.js +196 -170
  16. package/lib/cmap/connection_pool.js.map +1 -1
  17. package/lib/cmap/message_stream.js.map +1 -1
  18. package/lib/cmap/wire_protocol/compression.js +2 -6
  19. package/lib/cmap/wire_protocol/compression.js.map +1 -1
  20. package/lib/cmap/wire_protocol/constants.js +1 -3
  21. package/lib/cmap/wire_protocol/constants.js.map +1 -1
  22. package/lib/collection.js +24 -9
  23. package/lib/collection.js.map +1 -1
  24. package/lib/connection_string.js.map +1 -1
  25. package/lib/cursor/abstract_cursor.js +62 -75
  26. package/lib/cursor/abstract_cursor.js.map +1 -1
  27. package/lib/cursor/change_stream_cursor.js +115 -0
  28. package/lib/cursor/change_stream_cursor.js.map +1 -0
  29. package/lib/cursor/list_collections_cursor.js +37 -0
  30. package/lib/cursor/list_collections_cursor.js.map +1 -0
  31. package/lib/cursor/list_indexes_cursor.js +36 -0
  32. package/lib/cursor/list_indexes_cursor.js.map +1 -0
  33. package/lib/db.js +2 -2
  34. package/lib/db.js.map +1 -1
  35. package/lib/deps.js.map +1 -1
  36. package/lib/encrypter.js +3 -13
  37. package/lib/encrypter.js.map +1 -1
  38. package/lib/index.js +28 -21
  39. package/lib/index.js.map +1 -1
  40. package/lib/mongo_client.js +62 -21
  41. package/lib/mongo_client.js.map +1 -1
  42. package/lib/mongo_types.js.map +1 -1
  43. package/lib/operations/common_functions.js.map +1 -1
  44. package/lib/operations/create_collection.js.map +1 -1
  45. package/lib/operations/distinct.js +5 -5
  46. package/lib/operations/distinct.js.map +1 -1
  47. package/lib/operations/estimated_document_count.js +5 -0
  48. package/lib/operations/estimated_document_count.js.map +1 -1
  49. package/lib/operations/execute_operation.js +17 -8
  50. package/lib/operations/execute_operation.js.map +1 -1
  51. package/lib/operations/find.js +3 -0
  52. package/lib/operations/find.js.map +1 -1
  53. package/lib/operations/get_more.js +32 -7
  54. package/lib/operations/get_more.js.map +1 -1
  55. package/lib/operations/indexes.js +39 -65
  56. package/lib/operations/indexes.js.map +1 -1
  57. package/lib/operations/kill_cursors.js +32 -0
  58. package/lib/operations/kill_cursors.js.map +1 -0
  59. package/lib/operations/list_collections.js +1 -33
  60. package/lib/operations/list_collections.js.map +1 -1
  61. package/lib/operations/operation.js +4 -1
  62. package/lib/operations/operation.js.map +1 -1
  63. package/lib/read_preference.js.map +1 -1
  64. package/lib/sdam/common.js +2 -1
  65. package/lib/sdam/common.js.map +1 -1
  66. package/lib/sdam/monitor.js +2 -1
  67. package/lib/sdam/monitor.js.map +1 -1
  68. package/lib/sdam/server.js +1 -52
  69. package/lib/sdam/server.js.map +1 -1
  70. package/lib/sdam/server_description.js +51 -58
  71. package/lib/sdam/server_description.js.map +1 -1
  72. package/lib/sdam/srv_polling.js +2 -2
  73. package/lib/sdam/srv_polling.js.map +1 -1
  74. package/lib/sdam/topology.js +28 -67
  75. package/lib/sdam/topology.js.map +1 -1
  76. package/lib/sdam/topology_description.js +24 -42
  77. package/lib/sdam/topology_description.js.map +1 -1
  78. package/lib/sessions.js +29 -31
  79. package/lib/sessions.js.map +1 -1
  80. package/lib/utils.js +65 -70
  81. package/lib/utils.js.map +1 -1
  82. package/mongodb.d.ts +136 -73
  83. package/package.json +23 -22
  84. package/src/bson.ts +4 -0
  85. package/src/bulk/common.ts +1 -0
  86. package/src/change_stream.ts +147 -373
  87. package/src/cmap/command_monitoring_events.ts +3 -37
  88. package/src/cmap/commands.ts +2 -190
  89. package/src/cmap/connect.ts +20 -25
  90. package/src/cmap/connection.ts +27 -139
  91. package/src/cmap/connection_pool.ts +208 -169
  92. package/src/cmap/message_stream.ts +2 -3
  93. package/src/cmap/wire_protocol/compression.ts +8 -6
  94. package/src/cmap/wire_protocol/constants.ts +0 -2
  95. package/src/collection.ts +27 -13
  96. package/src/connection_string.ts +1 -1
  97. package/src/cursor/abstract_cursor.ts +98 -87
  98. package/src/cursor/change_stream_cursor.ts +194 -0
  99. package/src/cursor/list_collections_cursor.ts +52 -0
  100. package/src/cursor/list_indexes_cursor.ts +41 -0
  101. package/src/db.ts +2 -5
  102. package/src/deps.ts +13 -22
  103. package/src/encrypter.ts +4 -14
  104. package/src/index.ts +13 -9
  105. package/src/mongo_client.ts +102 -33
  106. package/src/mongo_types.ts +81 -57
  107. package/src/operations/common_functions.ts +1 -1
  108. package/src/operations/create_collection.ts +1 -2
  109. package/src/operations/distinct.ts +7 -9
  110. package/src/operations/estimated_document_count.ts +6 -0
  111. package/src/operations/execute_operation.ts +17 -8
  112. package/src/operations/find.ts +9 -0
  113. package/src/operations/get_more.ts +56 -13
  114. package/src/operations/indexes.ts +52 -89
  115. package/src/operations/kill_cursors.ts +53 -0
  116. package/src/operations/list_collections.ts +0 -43
  117. package/src/operations/operation.ts +5 -1
  118. package/src/read_preference.ts +5 -9
  119. package/src/sdam/common.ts +2 -0
  120. package/src/sdam/monitor.ts +2 -1
  121. package/src/sdam/server.ts +4 -89
  122. package/src/sdam/server_description.ts +70 -80
  123. package/src/sdam/srv_polling.ts +1 -1
  124. package/src/sdam/topology.ts +37 -103
  125. package/src/sdam/topology_description.ts +44 -68
  126. package/src/sessions.ts +32 -39
  127. package/src/utils.ts +78 -75
@@ -9,6 +9,9 @@ const error_1 = require("./error");
9
9
  const mongo_types_1 = require("./mongo_types");
10
10
  const connect_1 = require("./operations/connect");
11
11
  const promise_provider_1 = require("./promise_provider");
12
+ const read_preference_1 = require("./read_preference");
13
+ const server_selection_1 = require("./sdam/server_selection");
14
+ const sessions_1 = require("./sessions");
12
15
  const utils_1 = require("./utils");
13
16
  /** @public */
14
17
  exports.ServerApiVersion = Object.freeze({
@@ -21,7 +24,7 @@ const kOptions = Symbol('options');
21
24
  * @public
22
25
  *
23
26
  * @remarks
24
- * The programmatically provided options take precedent over the URI options.
27
+ * The programmatically provided options take precedence over the URI options.
25
28
  *
26
29
  * @example
27
30
  * ```js
@@ -65,10 +68,11 @@ class MongoClient extends mongo_types_1.TypedEventEmitter {
65
68
  // The internal state
66
69
  this.s = {
67
70
  url,
68
- sessions: new Set(),
69
71
  bsonOptions: (0, bson_1.resolveBSONOptions)(this[kOptions]),
70
72
  namespace: (0, utils_1.ns)('admin'),
71
73
  hasBeenClosed: false,
74
+ sessionPool: new sessions_1.ServerSessionPool(this),
75
+ activeSessions: new Set(),
72
76
  get options() {
73
77
  return client[kOptions];
74
78
  },
@@ -149,22 +153,56 @@ class MongoClient extends mongo_types_1.TypedEventEmitter {
149
153
  const force = typeof forceOrCallback === 'boolean' ? forceOrCallback : false;
150
154
  return (0, utils_1.maybePromise)(callback, callback => {
151
155
  if (this.topology == null) {
156
+ // Do not connect just to end sessions
152
157
  return callback();
153
158
  }
154
- // clear out references to old topology
155
- const topology = this.topology;
156
- this.topology = undefined;
157
- topology.close({ force }, error => {
158
- if (error)
159
- return callback(error);
160
- const { encrypter } = this[kOptions];
161
- if (encrypter) {
162
- return encrypter.close(this, force, error => {
163
- callback(error);
164
- });
159
+ const activeSessionEnds = Array.from(this.s.activeSessions, session => session.endSession());
160
+ this.s.activeSessions.clear();
161
+ Promise.all(activeSessionEnds)
162
+ .then(() => {
163
+ if (this.topology == null) {
164
+ return;
165
165
  }
166
- callback();
167
- });
166
+ // If we would attempt to select a server and get nothing back we short circuit
167
+ // to avoid the server selection timeout.
168
+ const selector = (0, server_selection_1.readPreferenceServerSelector)(read_preference_1.ReadPreference.primaryPreferred);
169
+ const topologyDescription = this.topology.description;
170
+ const serverDescriptions = Array.from(topologyDescription.servers.values());
171
+ const servers = selector(topologyDescription, serverDescriptions);
172
+ if (servers.length === 0) {
173
+ return;
174
+ }
175
+ const endSessions = Array.from(this.s.sessionPool.sessions, ({ id }) => id);
176
+ if (endSessions.length === 0)
177
+ return;
178
+ return this.db('admin')
179
+ .command({ endSessions }, { readPreference: read_preference_1.ReadPreference.primaryPreferred, noResponse: true })
180
+ .catch(() => null); // outcome does not matter
181
+ })
182
+ .then(() => {
183
+ if (this.topology == null) {
184
+ return;
185
+ }
186
+ // clear out references to old topology
187
+ const topology = this.topology;
188
+ this.topology = undefined;
189
+ return new Promise((resolve, reject) => {
190
+ topology.close({ force }, error => {
191
+ if (error)
192
+ return reject(error);
193
+ const { encrypter } = this[kOptions];
194
+ if (encrypter) {
195
+ return encrypter.close(this, force, error => {
196
+ if (error)
197
+ return reject(error);
198
+ resolve();
199
+ });
200
+ }
201
+ resolve();
202
+ });
203
+ });
204
+ })
205
+ .then(() => callback(), error => callback(error));
168
206
  });
169
207
  }
170
208
  /**
@@ -209,11 +247,12 @@ class MongoClient extends mongo_types_1.TypedEventEmitter {
209
247
  }
210
248
  }
211
249
  startSession(options) {
212
- options = Object.assign({ explicit: true }, options);
213
- if (!this.topology) {
214
- throw new error_1.MongoNotConnectedError('MongoClient must be connected to start a session');
215
- }
216
- return this.topology.startSession(options, this.s.options);
250
+ const session = new sessions_1.ClientSession(this, this.s.sessionPool, { explicit: true, ...options }, this[kOptions]);
251
+ this.s.activeSessions.add(session);
252
+ session.once('ended', () => {
253
+ this.s.activeSessions.delete(session);
254
+ });
255
+ return session;
217
256
  }
218
257
  withSession(optionsOrOperation, callback) {
219
258
  const options = {
@@ -233,7 +272,9 @@ class MongoClient extends mongo_types_1.TypedEventEmitter {
233
272
  .then(() => {
234
273
  // Do not return the result of callback
235
274
  })
236
- .finally(() => session.endSession());
275
+ .finally(() => {
276
+ session.endSession().catch(() => null);
277
+ });
237
278
  }
238
279
  /**
239
280
  * Create a new Change Stream, watching for new changes (insertions, updates,
@@ -1 +1 @@
1
- {"version":3,"file":"mongo_client.js","sourceRoot":"","sources":["../src/mongo_client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongo_client.js","sourceRoot":"","sources":["../src/mongo_client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mongo_types.js","sourceRoot":"","sources":["../src/mongo_types.ts"],"names":[],"mappings":";;;AACA,mCAAsC;AAmKtC,cAAc;AACD,QAAA,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,CAAC;IACZ,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,EAAE;IACR,KAAK,EAAE,EAAE;IACT,SAAS,EAAE,EAAE;IACb,UAAU,EAAE,EAAE;IACd,MAAM,EAAE,EAAE;IACV,mBAAmB,EAAE,EAAE;IACvB,GAAG,EAAE,EAAE;IACP,SAAS,EAAE,EAAE;IACb,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,CAAC,CAAC;IACV,MAAM,EAAE,GAAG;CACH,CAAC,CAAC;AA0PZ;;;GAGG;AACH,6DAA6D;AAC7D,MAAa,iBAAoD,SAAQ,qBAAY;CAAG;AAAxF,8CAAwF;AAExF,cAAc;AACd,MAAa,iBAAkB,SAAQ,iBAAqC;CAAG;AAA/E,8CAA+E"}
1
+ {"version":3,"file":"mongo_types.js","sourceRoot":"","sources":["../src/mongo_types.ts"],"names":[],"mappings":";;;AACA,mCAAsC;AAmKtC,cAAc;AACD,QAAA,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,CAAC;IACZ,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,EAAE;IACR,KAAK,EAAE,EAAE;IACT,SAAS,EAAE,EAAE;IACb,UAAU,EAAE,EAAE;IACd,MAAM,EAAE,EAAE;IACV,mBAAmB,EAAE,EAAE;IACvB,GAAG,EAAE,EAAE;IACP,SAAS,EAAE,EAAE;IACb,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,CAAC,CAAC;IACV,MAAM,EAAE,GAAG;CACH,CAAC,CAAC;AA+PZ;;;GAGG;AACH,6DAA6D;AAC7D,MAAa,iBAAoD,SAAQ,qBAAY;CAAG;AAAxF,8CAAwF;AAExF,cAAc;AACd,MAAa,iBAAkB,SAAQ,iBAAqC;CAAG;AAA/E,8CAA+E"}
@@ -1 +1 @@
1
- {"version":3,"file":"common_functions.js","sourceRoot":"","sources":["../../src/operations/common_functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common_functions.js","sourceRoot":"","sources":["../../src/operations/common_functions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create_collection.js","sourceRoot":"","sources":["../../src/operations/create_collection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create_collection.js","sourceRoot":"","sources":["../../src/operations/create_collection.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DistinctOperation = void 0;
4
- const error_1 = require("../error");
5
4
  const utils_1 = require("../utils");
6
5
  const command_1 = require("./command");
7
6
  const operation_1 = require("./operation");
@@ -40,6 +39,11 @@ class DistinctOperation extends command_1.CommandOperation {
40
39
  if (typeof options.maxTimeMS === 'number') {
41
40
  cmd.maxTimeMS = options.maxTimeMS;
42
41
  }
42
+ // we check for undefined specifically here to allow falsy values
43
+ // eslint-disable-next-line no-restricted-syntax
44
+ if (typeof options.comment !== 'undefined') {
45
+ cmd.comment = options.comment;
46
+ }
43
47
  // Do we have a readConcern specified
44
48
  (0, utils_1.decorateWithReadConcern)(cmd, coll, options);
45
49
  // Have we specified collation
@@ -49,10 +53,6 @@ class DistinctOperation extends command_1.CommandOperation {
49
53
  catch (err) {
50
54
  return callback(err);
51
55
  }
52
- if (this.explain && (0, utils_1.maxWireVersion)(server) < 4) {
53
- callback(new error_1.MongoCompatibilityError(`Server ${server.name} does not support explain on distinct`));
54
- return;
55
- }
56
56
  super.executeCommand(server, session, cmd, (err, result) => {
57
57
  if (err) {
58
58
  callback(err);
@@ -1 +1 @@
1
- {"version":3,"file":"distinct.js","sourceRoot":"","sources":["../../src/operations/distinct.ts"],"names":[],"mappings":";;;AAEA,oCAAmD;AAGnD,oCAAoG;AACpG,uCAAsE;AACtE,2CAAoD;AAKpD;;;GAGG;AACH,MAAa,iBAAkB,SAAQ,0BAAuB;IAQ5D;;;;;;;OAOG;IACH,YAAY,UAAsB,EAAE,GAAW,EAAE,KAAe,EAAE,OAAyB;QACzF,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAE3B,IAAI,CAAC,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEQ,OAAO,CACd,MAAc,EACd,OAAkC,EAClC,QAAyB;QAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAE7B,mBAAmB;QACnB,MAAM,GAAG,GAAa;YACpB,QAAQ,EAAE,IAAI,CAAC,cAAc;YAC7B,GAAG,EAAE,GAAG;YACR,KAAK,EAAE,KAAK;SACb,CAAC;QAEF,2BAA2B;QAC3B,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;YACzC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;SACnC;QAED,qCAAqC;QACrC,IAAA,+BAAuB,EAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAE5C,8BAA8B;QAC9B,IAAI;YACF,IAAA,6BAAqB,EAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;SAC3C;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;SACtB;QAED,IAAI,IAAI,CAAC,OAAO,IAAI,IAAA,sBAAc,EAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YAC9C,QAAQ,CACN,IAAI,+BAAuB,CAAC,UAAU,MAAM,CAAC,IAAI,uCAAuC,CAAC,CAC1F,CAAC;YACF,OAAO;SACR;QAED,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACzD,IAAI,GAAG,EAAE;gBACP,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACd,OAAO;aACR;YAED,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAzED,8CAyEC;AAED,IAAA,yBAAa,EAAC,iBAAiB,EAAE,CAAC,kBAAM,CAAC,cAAc,EAAE,kBAAM,CAAC,SAAS,EAAE,kBAAM,CAAC,WAAW,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"distinct.js","sourceRoot":"","sources":["../../src/operations/distinct.ts"],"names":[],"mappings":";;;AAIA,oCAAoF;AACpF,uCAAsE;AACtE,2CAAoD;AAKpD;;;GAGG;AACH,MAAa,iBAAkB,SAAQ,0BAAuB;IAQ5D;;;;;;;OAOG;IACH,YAAY,UAAsB,EAAE,GAAW,EAAE,KAAe,EAAE,OAAyB;QACzF,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAE3B,IAAI,CAAC,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEQ,OAAO,CACd,MAAc,EACd,OAAkC,EAClC,QAAyB;QAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAE7B,mBAAmB;QACnB,MAAM,GAAG,GAAa;YACpB,QAAQ,EAAE,IAAI,CAAC,cAAc;YAC7B,GAAG,EAAE,GAAG;YACR,KAAK,EAAE,KAAK;SACb,CAAC;QAEF,2BAA2B;QAC3B,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;YACzC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;SACnC;QAED,iEAAiE;QACjE,gDAAgD;QAChD,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,WAAW,EAAE;YAC1C,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;SAC/B;QAED,qCAAqC;QACrC,IAAA,+BAAuB,EAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAE5C,8BAA8B;QAC9B,IAAI;YACF,IAAA,6BAAqB,EAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;SAC3C;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;SACtB;QAED,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACzD,IAAI,GAAG,EAAE;gBACP,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACd,OAAO;aACR;YAED,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAxED,8CAwEC;AAED,IAAA,yBAAa,EAAC,iBAAiB,EAAE,CAAC,kBAAM,CAAC,cAAc,EAAE,kBAAM,CAAC,SAAS,EAAE,kBAAM,CAAC,WAAW,CAAC,CAAC,CAAC"}
@@ -15,6 +15,11 @@ class EstimatedDocumentCountOperation extends command_1.CommandOperation {
15
15
  if (typeof this.options.maxTimeMS === 'number') {
16
16
  cmd.maxTimeMS = this.options.maxTimeMS;
17
17
  }
18
+ // we check for undefined specifically here to allow falsy values
19
+ // eslint-disable-next-line no-restricted-syntax
20
+ if (this.options.comment !== undefined) {
21
+ cmd.comment = this.options.comment;
22
+ }
18
23
  super.executeCommand(server, session, cmd, (err, response) => {
19
24
  if (err) {
20
25
  callback(err);
@@ -1 +1 @@
1
- {"version":3,"file":"estimated_document_count.js","sourceRoot":"","sources":["../../src/operations/estimated_document_count.ts"],"names":[],"mappings":";;;AAKA,uCAAsE;AACtE,2CAAoD;AAYpD,gBAAgB;AAChB,MAAa,+BAAgC,SAAQ,0BAAwB;IAI3E,YAAY,UAAsB,EAAE,UAAyC,EAAE;QAC7E,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;IAClD,CAAC;IAEQ,OAAO,CACd,MAAc,EACd,OAAkC,EAClC,QAA0B;QAE1B,MAAM,GAAG,GAAa,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;QAErD,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;YAC9C,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;SACxC;QAED,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YAC3D,IAAI,GAAG,EAAE;gBACP,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACd,OAAO;aACR;YAED,QAAQ,CAAC,SAAS,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,CAAC,KAAI,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA9BD,0EA8BC;AAED,IAAA,yBAAa,EAAC,+BAA+B,EAAE;IAC7C,kBAAM,CAAC,cAAc;IACrB,kBAAM,CAAC,SAAS;IAChB,kBAAM,CAAC,eAAe;CACvB,CAAC,CAAC"}
1
+ {"version":3,"file":"estimated_document_count.js","sourceRoot":"","sources":["../../src/operations/estimated_document_count.ts"],"names":[],"mappings":";;;AAKA,uCAAsE;AACtE,2CAAoD;AAYpD,gBAAgB;AAChB,MAAa,+BAAgC,SAAQ,0BAAwB;IAI3E,YAAY,UAAsB,EAAE,UAAyC,EAAE;QAC7E,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;IAClD,CAAC;IAEQ,OAAO,CACd,MAAc,EACd,OAAkC,EAClC,QAA0B;QAE1B,MAAM,GAAG,GAAa,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;QAErD,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;YAC9C,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;SACxC;QAED,iEAAiE;QACjE,gDAAgD;QAChD,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE;YACtC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;SACpC;QAED,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YAC3D,IAAI,GAAG,EAAE;gBACP,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACd,OAAO;aACR;YAED,QAAQ,CAAC,SAAS,EAAE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,CAAC,KAAI,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AApCD,0EAoCC;AAED,IAAA,yBAAa,EAAC,+BAA+B,EAAE;IAC7C,kBAAM,CAAC,cAAc;IACrB,kBAAM,CAAC,SAAS;IAChB,kBAAM,CAAC,eAAe;CACvB,CAAC,CAAC"}
@@ -42,7 +42,7 @@ function executeOperation(client, operation, callback) {
42
42
  if (topology.hasSessionSupport()) {
43
43
  if (session == null) {
44
44
  owner = Symbol();
45
- session = topology.startSession({ owner, explicit: false });
45
+ session = client.startSession({ owner, explicit: false });
46
46
  }
47
47
  else if (session.hasEnded) {
48
48
  return callback(new error_1.MongoExpiredSessionError('Use of expired sessions is not permitted'));
@@ -51,10 +51,19 @@ function executeOperation(client, operation, callback) {
51
51
  return callback(new error_1.MongoCompatibilityError('Snapshot reads require MongoDB 5.0 or later'));
52
52
  }
53
53
  }
54
- else if (session) {
55
- // If the user passed an explicit session and we are still, after server selection,
56
- // trying to run against a topology that doesn't support sessions we error out.
57
- return callback(new error_1.MongoCompatibilityError('Current topology does not support sessions'));
54
+ else {
55
+ // no session support
56
+ if (session && session.explicit) {
57
+ // If the user passed an explicit session and we are still, after server selection,
58
+ // trying to run against a topology that doesn't support sessions we error out.
59
+ return callback(new error_1.MongoCompatibilityError('Current topology does not support sessions'));
60
+ }
61
+ else if (session && !session.explicit) {
62
+ // We do not have to worry about ending the session because the server session has not been acquired yet
63
+ delete operation.options.session;
64
+ operation.clearSession();
65
+ session = undefined;
66
+ }
58
67
  }
59
68
  try {
60
69
  executeWithServerSelection(topology, session, operation, (error, result) => {
@@ -66,7 +75,7 @@ function executeOperation(client, operation, callback) {
66
75
  }
67
76
  catch (error) {
68
77
  if ((session === null || session === void 0 ? void 0 : session.owner) != null && session.owner === owner) {
69
- session.endSession();
78
+ session.endSession().catch(() => null);
70
79
  }
71
80
  throw error;
72
81
  }
@@ -84,8 +93,8 @@ function executeWithServerSelection(topology, session, operation, callback) {
84
93
  session.unpin();
85
94
  }
86
95
  let selector;
87
- if (operation.hasAspect(operation_1.Aspect.CURSOR_ITERATING)) {
88
- // Get more operations must always select the same server, but run through
96
+ if (operation.hasAspect(operation_1.Aspect.MUST_SELECT_SAME_SERVER)) {
97
+ // GetMore and KillCursor operations must always select the same server, but run through
89
98
  // server selection to potentially force monitor checks if the server is
90
99
  // in an unknown state.
91
100
  selector = (0, server_selection_1.sameServerSelector)((_b = operation.server) === null || _b === void 0 ? void 0 : _b.description);
@@ -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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"}
@@ -130,6 +130,9 @@ function makeFindCommand(ns, filter, options) {
130
130
  if (typeof options.tailable === 'boolean') {
131
131
  findCommand.tailable = options.tailable;
132
132
  }
133
+ if (typeof options.oplogReplay === 'boolean') {
134
+ findCommand.oplogReplay = options.oplogReplay;
135
+ }
133
136
  if (typeof options.timeout === 'boolean') {
134
137
  findCommand.noCursorTimeout = !options.timeout;
135
138
  }
@@ -1 +1 @@
1
- {"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/operations/find.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/operations/find.ts"],"names":[],"mappings":"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"}
@@ -6,13 +6,9 @@ const utils_1 = require("../utils");
6
6
  const operation_1 = require("./operation");
7
7
  /** @internal */
8
8
  class GetMoreOperation extends operation_1.AbstractOperation {
9
- constructor(ns, cursorId, server, options = {}) {
9
+ constructor(ns, cursorId, server, options) {
10
10
  super(options);
11
11
  this.options = options;
12
- // comment on getMore is only supported for server versions 4.4 and above
13
- if ((0, utils_1.maxWireVersion)(server) < 9) {
14
- delete this.options.comment;
15
- }
16
12
  this.ns = ns;
17
13
  this.cursorId = cursorId;
18
14
  this.server = server;
@@ -25,9 +21,38 @@ class GetMoreOperation extends operation_1.AbstractOperation {
25
21
  if (server !== this.server) {
26
22
  return callback(new error_1.MongoRuntimeError('Getmore must run on the same server operation began on'));
27
23
  }
28
- server.getMore(this.ns, this.cursorId, this.options, callback);
24
+ if (this.cursorId == null || this.cursorId.isZero()) {
25
+ return callback(new error_1.MongoRuntimeError('Unable to iterate cursor with no id'));
26
+ }
27
+ const collection = this.ns.collection;
28
+ if (collection == null) {
29
+ // Cursors should have adopted the namespace returned by MongoDB
30
+ // which should always defined a collection name (even a pseudo one, ex. db.aggregate())
31
+ return callback(new error_1.MongoRuntimeError('A collection name must be determined before getMore'));
32
+ }
33
+ const getMoreCmd = {
34
+ getMore: this.cursorId,
35
+ collection
36
+ };
37
+ if (typeof this.options.batchSize === 'number') {
38
+ getMoreCmd.batchSize = Math.abs(this.options.batchSize);
39
+ }
40
+ if (typeof this.options.maxAwaitTimeMS === 'number') {
41
+ getMoreCmd.maxTimeMS = this.options.maxAwaitTimeMS;
42
+ }
43
+ // we check for undefined specifically here to allow falsy values
44
+ // eslint-disable-next-line no-restricted-syntax
45
+ if (this.options.comment !== undefined && (0, utils_1.maxWireVersion)(server) >= 9) {
46
+ getMoreCmd.comment = this.options.comment;
47
+ }
48
+ const commandOptions = {
49
+ returnFieldSelector: null,
50
+ documentsReturnedIn: 'nextBatch',
51
+ ...this.options
52
+ };
53
+ server.command(this.ns, getMoreCmd, commandOptions, callback);
29
54
  }
30
55
  }
31
56
  exports.GetMoreOperation = GetMoreOperation;
32
- (0, operation_1.defineAspects)(GetMoreOperation, [operation_1.Aspect.READ_OPERATION, operation_1.Aspect.CURSOR_ITERATING]);
57
+ (0, operation_1.defineAspects)(GetMoreOperation, [operation_1.Aspect.READ_OPERATION, operation_1.Aspect.MUST_SELECT_SAME_SERVER]);
33
58
  //# sourceMappingURL=get_more.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get_more.js","sourceRoot":"","sources":["../../src/operations/get_more.ts"],"names":[],"mappings":";;;AACA,oCAA6C;AAG7C,oCAAsE;AACtE,2CAAyF;AAmBzF,gBAAgB;AAChB,MAAa,gBAAiB,SAAQ,6BAAiB;IAIrD,YAAY,EAAoB,EAAE,QAAc,EAAE,MAAc,EAAE,UAA0B,EAAE;QAC5F,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,yEAAyE;QACzE,IAAI,IAAA,sBAAc,EAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;SAC7B;QAED,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;OAGG;IACM,OAAO,CACd,MAAc,EACd,OAAkC,EAClC,QAA4B;QAE5B,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;YAC1B,OAAO,QAAQ,CACb,IAAI,yBAAiB,CAAC,wDAAwD,CAAC,CAChF,CAAC;SACH;QACD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;CACF;AAnCD,4CAmCC;AAED,IAAA,yBAAa,EAAC,gBAAgB,EAAE,CAAC,kBAAM,CAAC,cAAc,EAAE,kBAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"get_more.js","sourceRoot":"","sources":["../../src/operations/get_more.ts"],"names":[],"mappings":";;;AACA,oCAA6C;AAG7C,oCAAsE;AACtE,2CAAyF;AA+BzF,gBAAgB;AAChB,MAAa,gBAAiB,SAAQ,6BAAiB;IAIrD,YAAY,EAAoB,EAAE,QAAc,EAAE,MAAc,EAAE,OAAuB;QACvF,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;OAGG;IACM,OAAO,CACd,MAAc,EACd,OAAkC,EAClC,QAA4B;QAE5B,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;YAC1B,OAAO,QAAQ,CACb,IAAI,yBAAiB,CAAC,wDAAwD,CAAC,CAChF,CAAC;SACH;QAED,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;YACnD,OAAO,QAAQ,CAAC,IAAI,yBAAiB,CAAC,qCAAqC,CAAC,CAAC,CAAC;SAC/E;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC;QACtC,IAAI,UAAU,IAAI,IAAI,EAAE;YACtB,gEAAgE;YAChE,wFAAwF;YACxF,OAAO,QAAQ,CAAC,IAAI,yBAAiB,CAAC,qDAAqD,CAAC,CAAC,CAAC;SAC/F;QAED,MAAM,UAAU,GAAmB;YACjC,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,UAAU;SACX,CAAC;QAEF,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;YAC9C,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SACzD;QAED,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,KAAK,QAAQ,EAAE;YACnD,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;SACpD;QAED,iEAAiE;QACjE,gDAAgD;QAChD,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,IAAA,sBAAc,EAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACrE,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;SAC3C;QAED,MAAM,cAAc,GAAG;YACrB,mBAAmB,EAAE,IAAI;YACzB,mBAAmB,EAAE,WAAW;YAChC,GAAG,IAAI,CAAC,OAAO;SAChB,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC;CACF;AAlED,4CAkEC;AAED,IAAA,yBAAa,EAAC,gBAAgB,EAAE,CAAC,kBAAM,CAAC,cAAc,EAAE,kBAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC"}
@@ -1,13 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IndexInformationOperation = exports.IndexExistsOperation = exports.ListIndexesCursor = exports.ListIndexesOperation = exports.DropIndexesOperation = exports.DropIndexOperation = exports.EnsureIndexOperation = exports.CreateIndexOperation = exports.CreateIndexesOperation = exports.IndexesOperation = void 0;
4
- const abstract_cursor_1 = require("../cursor/abstract_cursor");
3
+ exports.IndexInformationOperation = exports.IndexExistsOperation = exports.ListIndexesOperation = exports.DropIndexesOperation = exports.DropIndexOperation = exports.EnsureIndexOperation = exports.CreateIndexOperation = exports.CreateIndexesOperation = exports.IndexesOperation = void 0;
5
4
  const error_1 = require("../error");
6
5
  const read_preference_1 = require("../read_preference");
7
6
  const utils_1 = require("../utils");
8
7
  const command_1 = require("./command");
9
8
  const common_functions_1 = require("./common_functions");
10
- const execute_operation_1 = require("./execute_operation");
11
9
  const operation_1 = require("./operation");
12
10
  const VALID_INDEX_OPTIONS = new Set([
13
11
  'background',
@@ -36,19 +34,36 @@ const VALID_INDEX_OPTIONS = new Set([
36
34
  // wildcard indexes
37
35
  'wildcardProjection'
38
36
  ]);
37
+ function isIndexDirection(x) {
38
+ return (typeof x === 'number' || x === '2d' || x === '2dsphere' || x === 'text' || x === 'geoHaystack');
39
+ }
40
+ function isSingleIndexTuple(t) {
41
+ return Array.isArray(t) && t.length === 2 && isIndexDirection(t[1]);
42
+ }
39
43
  function makeIndexSpec(indexSpec, options) {
40
- const indexParameters = (0, utils_1.parseIndexOptions)(indexSpec);
41
- // Generate the index name
42
- const name = typeof options.name === 'string' ? options.name : indexParameters.name;
43
- // Set up the index
44
- const finalIndexSpec = { name, key: indexParameters.fieldHash };
45
- // merge valid index options into the index spec
46
- for (const optionName in options) {
47
- if (VALID_INDEX_OPTIONS.has(optionName)) {
48
- finalIndexSpec[optionName] = options[optionName];
44
+ var _a;
45
+ const key = new Map();
46
+ const indexSpecs = !Array.isArray(indexSpec) || isSingleIndexTuple(indexSpec) ? [indexSpec] : indexSpec;
47
+ // Iterate through array and handle different types
48
+ for (const spec of indexSpecs) {
49
+ if (typeof spec === 'string') {
50
+ key.set(spec, 1);
51
+ }
52
+ else if (Array.isArray(spec)) {
53
+ key.set(spec[0], (_a = spec[1]) !== null && _a !== void 0 ? _a : 1);
54
+ }
55
+ else if (spec instanceof Map) {
56
+ for (const [property, value] of spec) {
57
+ key.set(property, value);
58
+ }
59
+ }
60
+ else if ((0, utils_1.isObject)(spec)) {
61
+ for (const [property, value] of Object.entries(spec)) {
62
+ key.set(property, value);
63
+ }
49
64
  }
50
65
  }
51
- return finalIndexSpec;
66
+ return { ...options, key };
52
67
  }
53
68
  /** @internal */
54
69
  class IndexesOperation extends operation_1.AbstractOperation {
@@ -70,29 +85,22 @@ class CreateIndexesOperation extends command_1.CommandOperation {
70
85
  super(parent, options);
71
86
  this.options = options !== null && options !== void 0 ? options : {};
72
87
  this.collectionName = collectionName;
73
- this.indexes = indexes;
88
+ this.indexes = indexes.map(userIndex => {
89
+ // Ensure the key is a Map to preserve index key ordering
90
+ const key = userIndex.key instanceof Map ? userIndex.key : new Map(Object.entries(userIndex.key));
91
+ const name = userIndex.name != null ? userIndex.name : Array.from(key).flat().join('_');
92
+ const validIndexOptions = Object.fromEntries(Object.entries({ ...userIndex }).filter(([optionName]) => VALID_INDEX_OPTIONS.has(optionName)));
93
+ return {
94
+ ...validIndexOptions,
95
+ name,
96
+ key
97
+ };
98
+ });
74
99
  }
75
100
  execute(server, session, callback) {
76
101
  const options = this.options;
77
102
  const indexes = this.indexes;
78
103
  const serverWireVersion = (0, utils_1.maxWireVersion)(server);
79
- // Ensure we generate the correct name if the parameter is not set
80
- for (let i = 0; i < indexes.length; i++) {
81
- // Did the user pass in a collation, check if our write server supports it
82
- if (indexes[i].collation && serverWireVersion < 5) {
83
- callback(new error_1.MongoCompatibilityError(`Server ${server.name}, which reports wire version ${serverWireVersion}, ` +
84
- 'does not support collation'));
85
- return;
86
- }
87
- if (indexes[i].name == null) {
88
- const keys = [];
89
- for (const name in indexes[i].key) {
90
- keys.push(`${name}_${indexes[i].key[name]}`);
91
- }
92
- // Set the name
93
- indexes[i].name = keys.join('_');
94
- }
95
- }
96
104
  const cmd = { createIndexes: this.collectionName, indexes };
97
105
  if (options.commitQuorum != null) {
98
106
  if (serverWireVersion < 9) {
@@ -117,11 +125,6 @@ exports.CreateIndexesOperation = CreateIndexesOperation;
117
125
  /** @internal */
118
126
  class CreateIndexOperation extends CreateIndexesOperation {
119
127
  constructor(parent, collectionName, indexSpec, options) {
120
- // createIndex can be called with a variety of styles:
121
- // coll.createIndex('a');
122
- // coll.createIndex({ a: 1 });
123
- // coll.createIndex([['a', 1]]);
124
- // createIndexes is always called with an array of index spec objects
125
128
  super(parent, collectionName, [makeIndexSpec(indexSpec, options)], options);
126
129
  }
127
130
  execute(server, session, callback) {
@@ -209,35 +212,6 @@ class ListIndexesOperation extends command_1.CommandOperation {
209
212
  }
210
213
  }
211
214
  exports.ListIndexesOperation = ListIndexesOperation;
212
- /** @public */
213
- class ListIndexesCursor extends abstract_cursor_1.AbstractCursor {
214
- constructor(collection, options) {
215
- super(collection.s.db.s.client, collection.s.namespace, options);
216
- this.parent = collection;
217
- this.options = options;
218
- }
219
- clone() {
220
- return new ListIndexesCursor(this.parent, {
221
- ...this.options,
222
- ...this.cursorOptions
223
- });
224
- }
225
- /** @internal */
226
- _initialize(session, callback) {
227
- const operation = new ListIndexesOperation(this.parent, {
228
- ...this.cursorOptions,
229
- ...this.options,
230
- session
231
- });
232
- (0, execute_operation_1.executeOperation)(this.parent.s.db.s.client, operation, (err, response) => {
233
- if (err || response == null)
234
- return callback(err);
235
- // TODO: NODE-2882
236
- callback(undefined, { server: operation.server, session, response });
237
- });
238
- }
239
- }
240
- exports.ListIndexesCursor = ListIndexesCursor;
241
215
  /** @internal */
242
216
  class IndexExistsOperation extends operation_1.AbstractOperation {
243
217
  constructor(collection, indexes, options) {