mongodb 6.18.0-dev.20250731.sha.c5365347 → 6.18.0-dev.20250802.sha.be7f808c

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.
package/lib/beta.d.ts CHANGED
@@ -2849,10 +2849,10 @@ export declare class Collection<TSchema extends Document = Document> {
2849
2849
  */
2850
2850
  findOne(): Promise<WithId<TSchema> | null>;
2851
2851
  findOne(filter: Filter<TSchema>): Promise<WithId<TSchema> | null>;
2852
- findOne(filter: Filter<TSchema>, options: Omit<FindOptions, 'timeoutMode'> & Abortable): Promise<WithId<TSchema> | null>;
2852
+ findOne(filter: Filter<TSchema>, options: Omit<FindOneOptions, 'timeoutMode'> & Abortable): Promise<WithId<TSchema> | null>;
2853
2853
  findOne<T = TSchema>(): Promise<T | null>;
2854
2854
  findOne<T = TSchema>(filter: Filter<TSchema>): Promise<T | null>;
2855
- findOne<T = TSchema>(filter: Filter<TSchema>, options?: Omit<FindOptions, 'timeoutMode'> & Abortable): Promise<T | null>;
2855
+ findOne<T = TSchema>(filter: Filter<TSchema>, options?: Omit<FindOneOptions, 'timeoutMode'> & Abortable): Promise<T | null>;
2856
2856
  /**
2857
2857
  * Creates a cursor for a filter that can be used to iterate over results from MongoDB
2858
2858
  *
@@ -4750,6 +4750,16 @@ export declare interface FindOneAndUpdateOptions extends CommandOperationOptions
4750
4750
  includeResultMetadata?: boolean;
4751
4751
  }
4752
4752
 
4753
+ /** @public */
4754
+ export declare interface FindOneOptions extends FindOptions {
4755
+ /** @deprecated Will be removed in the next major version. User provided value will be ignored. */
4756
+ batchSize?: number;
4757
+ /** @deprecated Will be removed in the next major version. User provided value will be ignored. */
4758
+ limit?: number;
4759
+ /** @deprecated Will be removed in the next major version. User provided value will be ignored. */
4760
+ noCursorTimeout?: boolean;
4761
+ }
4762
+
4753
4763
  /**
4754
4764
  * A builder object that is returned from {@link BulkOperationBase#find}.
4755
4765
  * Is used to build a write operation that involves a query filter.
package/lib/collection.js CHANGED
@@ -13,7 +13,6 @@ const error_1 = require("./error");
13
13
  const count_1 = require("./operations/count");
14
14
  const delete_1 = require("./operations/delete");
15
15
  const distinct_1 = require("./operations/distinct");
16
- const drop_1 = require("./operations/drop");
17
16
  const estimated_document_count_1 = require("./operations/estimated_document_count");
18
17
  const execute_operation_1 = require("./operations/execute_operation");
19
18
  const find_and_modify_1 = require("./operations/find_and_modify");
@@ -21,7 +20,7 @@ const indexes_1 = require("./operations/indexes");
21
20
  const insert_1 = require("./operations/insert");
22
21
  const rename_1 = require("./operations/rename");
23
22
  const create_1 = require("./operations/search_indexes/create");
24
- const drop_2 = require("./operations/search_indexes/drop");
23
+ const drop_1 = require("./operations/search_indexes/drop");
25
24
  const update_1 = require("./operations/search_indexes/update");
26
25
  const update_2 = require("./operations/update");
27
26
  const read_concern_1 = require("./read_concern");
@@ -301,13 +300,18 @@ class Collection {
301
300
  * @param options - Optional settings for the command
302
301
  */
303
302
  async drop(options) {
304
- return await (0, execute_operation_1.executeOperation)(this.client, new drop_1.DropCollectionOperation(this.s.db, this.collectionName, options));
303
+ return await this.s.db.dropCollection(this.collectionName, options);
305
304
  }
306
305
  async findOne(filter = {}, options = {}) {
307
- const cursor = this.find(filter, options).limit(-1).batchSize(1);
308
- const res = await cursor.next();
306
+ // Explicitly set the limit to 1 and singleBatch to true for all commands, per the spec.
307
+ // noCursorTimeout must be unset as well as batchSize.
308
+ // See: https://github.com/mongodb/specifications/blob/master/source/crud/crud.md#findone-api-details
309
+ const { batchSize: _batchSize, noCursorTimeout: _noCursorTimeout, ...opts } = options;
310
+ opts.singleBatch = true;
311
+ const cursor = this.find(filter, opts).limit(1);
312
+ const result = await cursor.next();
309
313
  await cursor.close();
310
- return res;
314
+ return result;
311
315
  }
312
316
  find(filter = {}, options = {}) {
313
317
  return new find_cursor_1.FindCursor(this.client, this.s.namespace, filter, (0, utils_1.resolveOptions)(this, options));
@@ -728,7 +732,7 @@ class Collection {
728
732
  * @remarks Only available when used against a 7.0+ Atlas cluster.
729
733
  */
730
734
  async dropSearchIndex(name) {
731
- return await (0, execute_operation_1.executeOperation)(this.client, new drop_2.DropSearchIndexOperation(this, name));
735
+ return await (0, execute_operation_1.executeOperation)(this.client, new drop_1.DropSearchIndexOperation(this, name));
732
736
  }
733
737
  /**
734
738
  * Updates a search index by replacing the existing index definition with the provided definition.
@@ -1 +1 @@
1
- {"version":3,"file":"collection.js","sourceRoot":"","sources":["../src/collection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collection.js","sourceRoot":"","sources":["../src/collection.ts"],"names":[],"mappings":"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"}
package/lib/db.js CHANGED
@@ -156,7 +156,8 @@ class Db {
156
156
  * @param options - Optional settings for the command
157
157
  */
158
158
  async createCollection(name, options) {
159
- return await (0, execute_operation_1.executeOperation)(this.client, new create_collection_1.CreateCollectionOperation(this, name, (0, utils_1.resolveOptions)(this, options)));
159
+ options = (0, utils_1.resolveOptions)(this, options);
160
+ return await (0, create_collection_1.createCollections)(this, name, options);
160
161
  }
161
162
  /**
162
163
  * Execute a command
@@ -256,7 +257,8 @@ class Db {
256
257
  * @param options - Optional settings for the command
257
258
  */
258
259
  async dropCollection(name, options) {
259
- return await (0, execute_operation_1.executeOperation)(this.client, new drop_1.DropCollectionOperation(this, name, (0, utils_1.resolveOptions)(this, options)));
260
+ options = (0, utils_1.resolveOptions)(this, options);
261
+ return await (0, drop_1.dropCollections)(this, name, options);
260
262
  }
261
263
  /**
262
264
  * Drop a database, removing it permanently from the server.
package/lib/db.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CreateCollectionOperation = void 0;
4
+ exports.createCollections = createCollections;
4
5
  const constants_1 = require("../cmap/wire_protocol/constants");
5
6
  const collection_1 = require("../collection");
6
7
  const error_1 = require("../error");
8
+ const timeout_1 = require("../timeout");
7
9
  const command_1 = require("./command");
10
+ const execute_operation_1 = require("./execute_operation");
8
11
  const indexes_1 = require("./indexes");
9
12
  const operation_1 = require("./operation");
10
13
  const ILLEGAL_COMMAND_FIELDS = new Set([
@@ -45,52 +48,13 @@ class CreateCollectionOperation extends command_1.CommandOperation {
45
48
  return 'create';
46
49
  }
47
50
  async execute(server, session, timeoutContext) {
48
- const db = this.db;
49
- const name = this.name;
50
- const options = this.options;
51
- const encryptedFields = options.encryptedFields ??
52
- db.client.s.options.autoEncryption?.encryptedFieldsMap?.[`${db.databaseName}.${name}`];
53
- if (encryptedFields) {
54
- // Creating a QE collection required min server of 7.0.0
55
- // TODO(NODE-5353): Get wire version information from connection.
56
- if (!server.loadBalanced &&
57
- server.description.maxWireVersion < constants_1.MIN_SUPPORTED_QE_WIRE_VERSION) {
58
- throw new error_1.MongoCompatibilityError(`${INVALID_QE_VERSION} The minimum server version required is ${constants_1.MIN_SUPPORTED_QE_SERVER_VERSION}`);
59
- }
60
- // Create auxilliary collections for queryable encryption support.
61
- const escCollection = encryptedFields.escCollection ?? `enxcol_.${name}.esc`;
62
- const ecocCollection = encryptedFields.ecocCollection ?? `enxcol_.${name}.ecoc`;
63
- for (const collectionName of [escCollection, ecocCollection]) {
64
- const createOp = new CreateCollectionOperation(db, collectionName, {
65
- clusteredIndex: {
66
- key: { _id: 1 },
67
- unique: true
68
- }
69
- });
70
- await createOp.executeWithoutEncryptedFieldsCheck(server, session, timeoutContext);
71
- }
72
- if (!options.encryptedFields) {
73
- this.options = { ...this.options, encryptedFields };
74
- }
75
- }
76
- const coll = await this.executeWithoutEncryptedFieldsCheck(server, session, timeoutContext);
77
- if (encryptedFields) {
78
- // Create the required index for queryable encryption support.
79
- const createIndexOp = indexes_1.CreateIndexesOperation.fromIndexSpecification(db, name, { __safeContent__: 1 }, {});
80
- await createIndexOp.execute(server, session, timeoutContext);
81
- }
82
- return coll;
83
- }
84
- async executeWithoutEncryptedFieldsCheck(server, session, timeoutContext) {
85
51
  const db = this.db;
86
52
  const name = this.name;
87
53
  const options = this.options;
88
54
  const cmd = { create: name };
89
- for (const n in options) {
90
- if (options[n] != null &&
91
- typeof options[n] !== 'function' &&
92
- !ILLEGAL_COMMAND_FIELDS.has(n)) {
93
- cmd[n] = options[n];
55
+ for (const [option, value] of Object.entries(options)) {
56
+ if (value != null && typeof value !== 'function' && !ILLEGAL_COMMAND_FIELDS.has(option)) {
57
+ cmd[option] = value;
94
58
  }
95
59
  }
96
60
  // otherwise just execute the command
@@ -99,5 +63,51 @@ class CreateCollectionOperation extends command_1.CommandOperation {
99
63
  }
100
64
  }
101
65
  exports.CreateCollectionOperation = CreateCollectionOperation;
66
+ async function createCollections(db, name, options) {
67
+ const timeoutContext = timeout_1.TimeoutContext.create({
68
+ session: options.session,
69
+ serverSelectionTimeoutMS: db.client.s.options.serverSelectionTimeoutMS,
70
+ waitQueueTimeoutMS: db.client.s.options.waitQueueTimeoutMS,
71
+ timeoutMS: options.timeoutMS
72
+ });
73
+ const encryptedFields = options.encryptedFields ??
74
+ db.client.s.options.autoEncryption?.encryptedFieldsMap?.[`${db.databaseName}.${name}`];
75
+ if (encryptedFields) {
76
+ class CreateSupportingFLEv2CollectionOperation extends CreateCollectionOperation {
77
+ execute(server, session, timeoutContext) {
78
+ // Creating a QE collection required min server of 7.0.0
79
+ // TODO(NODE-5353): Get wire version information from connection.
80
+ if (!server.loadBalanced &&
81
+ server.description.maxWireVersion < constants_1.MIN_SUPPORTED_QE_WIRE_VERSION) {
82
+ throw new error_1.MongoCompatibilityError(`${INVALID_QE_VERSION} The minimum server version required is ${constants_1.MIN_SUPPORTED_QE_SERVER_VERSION}`);
83
+ }
84
+ return super.execute(server, session, timeoutContext);
85
+ }
86
+ }
87
+ // Create auxilliary collections for queryable encryption support.
88
+ const escCollection = encryptedFields.escCollection ?? `enxcol_.${name}.esc`;
89
+ const ecocCollection = encryptedFields.ecocCollection ?? `enxcol_.${name}.ecoc`;
90
+ for (const collectionName of [escCollection, ecocCollection]) {
91
+ const createOp = new CreateSupportingFLEv2CollectionOperation(db, collectionName, {
92
+ clusteredIndex: {
93
+ key: { _id: 1 },
94
+ unique: true
95
+ },
96
+ session: options.session
97
+ });
98
+ await (0, execute_operation_1.executeOperation)(db.client, createOp, timeoutContext);
99
+ }
100
+ if (!options.encryptedFields) {
101
+ options = { ...options, encryptedFields };
102
+ }
103
+ }
104
+ const coll = await (0, execute_operation_1.executeOperation)(db.client, new CreateCollectionOperation(db, name, options), timeoutContext);
105
+ if (encryptedFields) {
106
+ // Create the required index for queryable encryption support.
107
+ const createIndexOp = indexes_1.CreateIndexesOperation.fromIndexSpecification(db, name, { __safeContent__: 1 }, { session: options.session });
108
+ await (0, execute_operation_1.executeOperation)(db.client, createIndexOp, timeoutContext);
109
+ }
110
+ return coll;
111
+ }
102
112
  (0, operation_1.defineAspects)(CreateCollectionOperation, [operation_1.Aspect.WRITE_OPERATION]);
103
113
  //# sourceMappingURL=create_collection.js.map
@@ -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,14 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DropDatabaseOperation = exports.DropCollectionOperation = void 0;
4
+ exports.dropCollections = dropCollections;
5
+ const abstract_cursor_1 = require("../cursor/abstract_cursor");
4
6
  const error_1 = require("../error");
7
+ const timeout_1 = require("../timeout");
5
8
  const command_1 = require("./command");
9
+ const execute_operation_1 = require("./execute_operation");
6
10
  const operation_1 = require("./operation");
7
11
  /** @internal */
8
12
  class DropCollectionOperation extends command_1.CommandOperation {
9
13
  constructor(db, name, options = {}) {
10
14
  super(db, options);
11
- this.db = db;
12
15
  this.options = options;
13
16
  this.name = name;
14
17
  }
@@ -16,46 +19,53 @@ class DropCollectionOperation extends command_1.CommandOperation {
16
19
  return 'drop';
17
20
  }
18
21
  async execute(server, session, timeoutContext) {
19
- const db = this.db;
20
- const options = this.options;
21
- const name = this.name;
22
- const encryptedFieldsMap = db.client.s.options.autoEncryption?.encryptedFieldsMap;
23
- let encryptedFields = options.encryptedFields ?? encryptedFieldsMap?.[`${db.databaseName}.${name}`];
24
- if (!encryptedFields && encryptedFieldsMap) {
25
- // If the MongoClient was configured with an encryptedFieldsMap,
26
- // and no encryptedFields config was available in it or explicitly
27
- // passed as an argument, the spec tells us to look one up using
28
- // listCollections().
29
- const listCollectionsResult = await db
30
- .listCollections({ name }, { nameOnly: false })
31
- .toArray();
32
- encryptedFields = listCollectionsResult?.[0]?.options?.encryptedFields;
33
- }
34
- if (encryptedFields) {
35
- const escCollection = encryptedFields.escCollection || `enxcol_.${name}.esc`;
36
- const ecocCollection = encryptedFields.ecocCollection || `enxcol_.${name}.ecoc`;
37
- for (const collectionName of [escCollection, ecocCollection]) {
38
- // Drop auxilliary collections, ignoring potential NamespaceNotFound errors.
39
- const dropOp = new DropCollectionOperation(db, collectionName);
40
- try {
41
- await dropOp.executeWithoutEncryptedFieldsCheck(server, session, timeoutContext);
42
- }
43
- catch (err) {
44
- if (!(err instanceof error_1.MongoServerError) ||
45
- err.code !== error_1.MONGODB_ERROR_CODES.NamespaceNotFound) {
46
- throw err;
47
- }
48
- }
49
- }
50
- }
51
- return await this.executeWithoutEncryptedFieldsCheck(server, session, timeoutContext);
52
- }
53
- async executeWithoutEncryptedFieldsCheck(server, session, timeoutContext) {
54
22
  await super.executeCommand(server, session, { drop: this.name }, timeoutContext);
55
23
  return true;
56
24
  }
57
25
  }
58
26
  exports.DropCollectionOperation = DropCollectionOperation;
27
+ async function dropCollections(db, name, options) {
28
+ const timeoutContext = timeout_1.TimeoutContext.create({
29
+ session: options.session,
30
+ serverSelectionTimeoutMS: db.client.s.options.serverSelectionTimeoutMS,
31
+ waitQueueTimeoutMS: db.client.s.options.waitQueueTimeoutMS,
32
+ timeoutMS: options.timeoutMS
33
+ });
34
+ const encryptedFieldsMap = db.client.s.options.autoEncryption?.encryptedFieldsMap;
35
+ let encryptedFields = options.encryptedFields ?? encryptedFieldsMap?.[`${db.databaseName}.${name}`];
36
+ if (!encryptedFields && encryptedFieldsMap) {
37
+ // If the MongoClient was configured with an encryptedFieldsMap,
38
+ // and no encryptedFields config was available in it or explicitly
39
+ // passed as an argument, the spec tells us to look one up using
40
+ // listCollections().
41
+ const listCollectionsResult = await db
42
+ .listCollections({ name }, {
43
+ nameOnly: false,
44
+ session: options.session,
45
+ timeoutContext: new abstract_cursor_1.CursorTimeoutContext(timeoutContext, Symbol())
46
+ })
47
+ .toArray();
48
+ encryptedFields = listCollectionsResult?.[0]?.options?.encryptedFields;
49
+ }
50
+ if (encryptedFields) {
51
+ const escCollection = encryptedFields.escCollection || `enxcol_.${name}.esc`;
52
+ const ecocCollection = encryptedFields.ecocCollection || `enxcol_.${name}.ecoc`;
53
+ for (const collectionName of [escCollection, ecocCollection]) {
54
+ // Drop auxilliary collections, ignoring potential NamespaceNotFound errors.
55
+ const dropOp = new DropCollectionOperation(db, collectionName, options);
56
+ try {
57
+ await (0, execute_operation_1.executeOperation)(db.client, dropOp, timeoutContext);
58
+ }
59
+ catch (err) {
60
+ if (!(err instanceof error_1.MongoServerError) ||
61
+ err.code !== error_1.MONGODB_ERROR_CODES.NamespaceNotFound) {
62
+ throw err;
63
+ }
64
+ }
65
+ }
66
+ }
67
+ return await (0, execute_operation_1.executeOperation)(db.client, new DropCollectionOperation(db, name, options), timeoutContext);
68
+ }
59
69
  /** @internal */
60
70
  class DropDatabaseOperation extends command_1.CommandOperation {
61
71
  constructor(db, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"drop.js","sourceRoot":"","sources":["../../src/operations/drop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"drop.js","sourceRoot":"","sources":["../../src/operations/drop.ts"],"names":[],"mappings":"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"}
@@ -181,8 +181,9 @@ async function tryOperation(operation, { topology, timeoutContext, session, read
181
181
  }
182
182
  if (hasWriteAspect && !(0, error_1.isRetryableWriteError)(previousOperationError))
183
183
  throw previousOperationError;
184
- if (hasReadAspect && !(0, error_1.isRetryableReadError)(previousOperationError))
184
+ if (hasReadAspect && !(0, error_1.isRetryableReadError)(previousOperationError)) {
185
185
  throw previousOperationError;
186
+ }
186
187
  if (previousOperationError instanceof error_1.MongoNetworkError &&
187
188
  operation.hasAspect(operation_1.Aspect.CURSOR_CREATING) &&
188
189
  session != null &&
@@ -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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"}
@@ -80,15 +80,17 @@ function makeFindCommand(ns, filter, options) {
80
80
  }
81
81
  if (typeof options.batchSize === 'number') {
82
82
  if (options.batchSize < 0) {
83
- if (options.limit &&
84
- options.limit !== 0 &&
85
- Math.abs(options.batchSize) < Math.abs(options.limit)) {
86
- findCommand.limit = -options.batchSize;
87
- }
88
- findCommand.singleBatch = true;
83
+ findCommand.limit = -options.batchSize;
89
84
  }
90
85
  else {
91
- findCommand.batchSize = options.batchSize;
86
+ if (options.batchSize === options.limit) {
87
+ // Spec dictates that if these are equal the batchSize should be one more than the
88
+ // limit to avoid leaving the cursor open.
89
+ findCommand.batchSize = options.batchSize + 1;
90
+ }
91
+ else {
92
+ findCommand.batchSize = options.batchSize;
93
+ }
92
94
  }
93
95
  }
94
96
  if (typeof options.singleBatch === 'boolean') {
@@ -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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"}
package/mongodb.d.ts CHANGED
@@ -2830,10 +2830,10 @@ export declare class Collection<TSchema extends Document = Document> {
2830
2830
  */
2831
2831
  findOne(): Promise<WithId<TSchema> | null>;
2832
2832
  findOne(filter: Filter<TSchema>): Promise<WithId<TSchema> | null>;
2833
- findOne(filter: Filter<TSchema>, options: Omit<FindOptions, 'timeoutMode'> & Abortable): Promise<WithId<TSchema> | null>;
2833
+ findOne(filter: Filter<TSchema>, options: Omit<FindOneOptions, 'timeoutMode'> & Abortable): Promise<WithId<TSchema> | null>;
2834
2834
  findOne<T = TSchema>(): Promise<T | null>;
2835
2835
  findOne<T = TSchema>(filter: Filter<TSchema>): Promise<T | null>;
2836
- findOne<T = TSchema>(filter: Filter<TSchema>, options?: Omit<FindOptions, 'timeoutMode'> & Abortable): Promise<T | null>;
2836
+ findOne<T = TSchema>(filter: Filter<TSchema>, options?: Omit<FindOneOptions, 'timeoutMode'> & Abortable): Promise<T | null>;
2837
2837
  /**
2838
2838
  * Creates a cursor for a filter that can be used to iterate over results from MongoDB
2839
2839
  *
@@ -4708,6 +4708,16 @@ export declare interface FindOneAndUpdateOptions extends CommandOperationOptions
4708
4708
  includeResultMetadata?: boolean;
4709
4709
  }
4710
4710
 
4711
+ /** @public */
4712
+ export declare interface FindOneOptions extends FindOptions {
4713
+ /** @deprecated Will be removed in the next major version. User provided value will be ignored. */
4714
+ batchSize?: number;
4715
+ /** @deprecated Will be removed in the next major version. User provided value will be ignored. */
4716
+ limit?: number;
4717
+ /** @deprecated Will be removed in the next major version. User provided value will be ignored. */
4718
+ noCursorTimeout?: boolean;
4719
+ }
4720
+
4711
4721
  /**
4712
4722
  * A builder object that is returned from {@link BulkOperationBase#find}.
4713
4723
  * Is used to build a write operation that involves a query filter.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mongodb",
3
- "version": "6.18.0-dev.20250731.sha.c5365347",
3
+ "version": "6.18.0-dev.20250802.sha.be7f808c",
4
4
  "description": "The official MongoDB driver for Node.js",
5
5
  "main": "lib/index.js",
6
6
  "files": [
package/src/collection.ts CHANGED
@@ -37,13 +37,13 @@ import {
37
37
  type DeleteResult
38
38
  } from './operations/delete';
39
39
  import { DistinctOperation, type DistinctOptions } from './operations/distinct';
40
- import { DropCollectionOperation, type DropCollectionOptions } from './operations/drop';
40
+ import { type DropCollectionOptions } from './operations/drop';
41
41
  import {
42
42
  EstimatedDocumentCountOperation,
43
43
  type EstimatedDocumentCountOptions
44
44
  } from './operations/estimated_document_count';
45
45
  import { autoConnect, executeOperation } from './operations/execute_operation';
46
- import type { FindOptions } from './operations/find';
46
+ import { type FindOneOptions, type FindOptions } from './operations/find';
47
47
  import {
48
48
  FindOneAndDeleteOperation,
49
49
  type FindOneAndDeleteOptions,
@@ -523,10 +523,7 @@ export class Collection<TSchema extends Document = Document> {
523
523
  * @param options - Optional settings for the command
524
524
  */
525
525
  async drop(options?: DropCollectionOptions): Promise<boolean> {
526
- return await executeOperation(
527
- this.client,
528
- new DropCollectionOperation(this.s.db, this.collectionName, options)
529
- );
526
+ return await this.s.db.dropCollection(this.collectionName, options);
530
527
  }
531
528
 
532
529
  /**
@@ -539,7 +536,7 @@ export class Collection<TSchema extends Document = Document> {
539
536
  async findOne(filter: Filter<TSchema>): Promise<WithId<TSchema> | null>;
540
537
  async findOne(
541
538
  filter: Filter<TSchema>,
542
- options: Omit<FindOptions, 'timeoutMode'> & Abortable
539
+ options: Omit<FindOneOptions, 'timeoutMode'> & Abortable
543
540
  ): Promise<WithId<TSchema> | null>;
544
541
 
545
542
  // allow an override of the schema.
@@ -547,17 +544,22 @@ export class Collection<TSchema extends Document = Document> {
547
544
  async findOne<T = TSchema>(filter: Filter<TSchema>): Promise<T | null>;
548
545
  async findOne<T = TSchema>(
549
546
  filter: Filter<TSchema>,
550
- options?: Omit<FindOptions, 'timeoutMode'> & Abortable
547
+ options?: Omit<FindOneOptions, 'timeoutMode'> & Abortable
551
548
  ): Promise<T | null>;
552
549
 
553
550
  async findOne(
554
551
  filter: Filter<TSchema> = {},
555
- options: FindOptions & Abortable = {}
552
+ options: Omit<FindOneOptions, 'timeoutMode'> & Abortable = {}
556
553
  ): Promise<WithId<TSchema> | null> {
557
- const cursor = this.find(filter, options).limit(-1).batchSize(1);
558
- const res = await cursor.next();
554
+ // Explicitly set the limit to 1 and singleBatch to true for all commands, per the spec.
555
+ // noCursorTimeout must be unset as well as batchSize.
556
+ // See: https://github.com/mongodb/specifications/blob/master/source/crud/crud.md#findone-api-details
557
+ const { batchSize: _batchSize, noCursorTimeout: _noCursorTimeout, ...opts } = options;
558
+ opts.singleBatch = true;
559
+ const cursor = this.find(filter, opts).limit(1);
560
+ const result = await cursor.next();
559
561
  await cursor.close();
560
- return res;
562
+ return result;
561
563
  }
562
564
 
563
565
  /**
package/src/db.ts CHANGED
@@ -10,13 +10,10 @@ import { MongoInvalidArgumentError } from './error';
10
10
  import type { MongoClient, PkFactory } from './mongo_client';
11
11
  import type { Abortable, TODO_NODE_3286 } from './mongo_types';
12
12
  import type { AggregateOptions } from './operations/aggregate';
13
+ import { type CreateCollectionOptions, createCollections } from './operations/create_collection';
13
14
  import {
14
- CreateCollectionOperation,
15
- type CreateCollectionOptions
16
- } from './operations/create_collection';
17
- import {
18
- DropCollectionOperation,
19
15
  type DropCollectionOptions,
16
+ dropCollections,
20
17
  DropDatabaseOperation,
21
18
  type DropDatabaseOptions
22
19
  } from './operations/drop';
@@ -241,10 +238,8 @@ export class Db {
241
238
  name: string,
242
239
  options?: CreateCollectionOptions
243
240
  ): Promise<Collection<TSchema>> {
244
- return await executeOperation(
245
- this.client,
246
- new CreateCollectionOperation(this, name, resolveOptions(this, options)) as TODO_NODE_3286
247
- );
241
+ options = resolveOptions(this, options);
242
+ return await createCollections<TSchema>(this, name, options);
248
243
  }
249
244
 
250
245
  /**
@@ -410,10 +405,8 @@ export class Db {
410
405
  * @param options - Optional settings for the command
411
406
  */
412
407
  async dropCollection(name: string, options?: DropCollectionOptions): Promise<boolean> {
413
- return await executeOperation(
414
- this.client,
415
- new DropCollectionOperation(this, name, resolveOptions(this, options))
416
- );
408
+ options = resolveOptions(this, options);
409
+ return await dropCollections(this, name, options);
417
410
  }
418
411
 
419
412
  /**
package/src/index.ts CHANGED
@@ -523,7 +523,7 @@ export type { DeleteOptions, DeleteResult, DeleteStatement } from './operations/
523
523
  export type { DistinctOptions } from './operations/distinct';
524
524
  export type { DropCollectionOptions, DropDatabaseOptions } from './operations/drop';
525
525
  export type { EstimatedDocumentCountOptions } from './operations/estimated_document_count';
526
- export type { FindOptions } from './operations/find';
526
+ export type { FindOneOptions, FindOptions } from './operations/find';
527
527
  export type {
528
528
  FindOneAndDeleteOptions,
529
529
  FindOneAndReplaceOptions,
@@ -9,8 +9,9 @@ import { MongoCompatibilityError } from '../error';
9
9
  import type { PkFactory } from '../mongo_client';
10
10
  import type { Server } from '../sdam/server';
11
11
  import type { ClientSession } from '../sessions';
12
- import { type TimeoutContext } from '../timeout';
12
+ import { TimeoutContext } from '../timeout';
13
13
  import { CommandOperation, type CommandOperationOptions } from './command';
14
+ import { executeOperation } from './execute_operation';
14
15
  import { CreateIndexesOperation } from './indexes';
15
16
  import { Aspect, defineAspects } from './operation';
16
17
 
@@ -135,79 +136,95 @@ export class CreateCollectionOperation extends CommandOperation<Collection> {
135
136
  const name = this.name;
136
137
  const options = this.options;
137
138
 
138
- const encryptedFields: Document | undefined =
139
- options.encryptedFields ??
140
- db.client.s.options.autoEncryption?.encryptedFieldsMap?.[`${db.databaseName}.${name}`];
141
-
142
- if (encryptedFields) {
143
- // Creating a QE collection required min server of 7.0.0
144
- // TODO(NODE-5353): Get wire version information from connection.
145
- if (
146
- !server.loadBalanced &&
147
- server.description.maxWireVersion < MIN_SUPPORTED_QE_WIRE_VERSION
148
- ) {
149
- throw new MongoCompatibilityError(
150
- `${INVALID_QE_VERSION} The minimum server version required is ${MIN_SUPPORTED_QE_SERVER_VERSION}`
151
- );
152
- }
153
- // Create auxilliary collections for queryable encryption support.
154
- const escCollection = encryptedFields.escCollection ?? `enxcol_.${name}.esc`;
155
- const ecocCollection = encryptedFields.ecocCollection ?? `enxcol_.${name}.ecoc`;
156
-
157
- for (const collectionName of [escCollection, ecocCollection]) {
158
- const createOp = new CreateCollectionOperation(db, collectionName, {
159
- clusteredIndex: {
160
- key: { _id: 1 },
161
- unique: true
162
- }
163
- });
164
- await createOp.executeWithoutEncryptedFieldsCheck(server, session, timeoutContext);
139
+ const cmd: Document = { create: name };
140
+ for (const [option, value] of Object.entries(options)) {
141
+ if (value != null && typeof value !== 'function' && !ILLEGAL_COMMAND_FIELDS.has(option)) {
142
+ cmd[option] = value;
165
143
  }
144
+ }
166
145
 
167
- if (!options.encryptedFields) {
168
- this.options = { ...this.options, encryptedFields };
146
+ // otherwise just execute the command
147
+ await super.executeCommand(server, session, cmd, timeoutContext);
148
+ return new Collection(db, name, options);
149
+ }
150
+ }
151
+
152
+ export async function createCollections<TSchema extends Document>(
153
+ db: Db,
154
+ name: string,
155
+ options: CreateCollectionOptions
156
+ ): Promise<Collection<TSchema>> {
157
+ const timeoutContext = TimeoutContext.create({
158
+ session: options.session,
159
+ serverSelectionTimeoutMS: db.client.s.options.serverSelectionTimeoutMS,
160
+ waitQueueTimeoutMS: db.client.s.options.waitQueueTimeoutMS,
161
+ timeoutMS: options.timeoutMS
162
+ });
163
+
164
+ const encryptedFields: Document | undefined =
165
+ options.encryptedFields ??
166
+ db.client.s.options.autoEncryption?.encryptedFieldsMap?.[`${db.databaseName}.${name}`];
167
+
168
+ if (encryptedFields) {
169
+ class CreateSupportingFLEv2CollectionOperation extends CreateCollectionOperation {
170
+ override execute(
171
+ server: Server,
172
+ session: ClientSession | undefined,
173
+ timeoutContext: TimeoutContext
174
+ ): Promise<Collection> {
175
+ // Creating a QE collection required min server of 7.0.0
176
+ // TODO(NODE-5353): Get wire version information from connection.
177
+ if (
178
+ !server.loadBalanced &&
179
+ server.description.maxWireVersion < MIN_SUPPORTED_QE_WIRE_VERSION
180
+ ) {
181
+ throw new MongoCompatibilityError(
182
+ `${INVALID_QE_VERSION} The minimum server version required is ${MIN_SUPPORTED_QE_SERVER_VERSION}`
183
+ );
184
+ }
185
+
186
+ return super.execute(server, session, timeoutContext);
169
187
  }
170
188
  }
171
189
 
172
- const coll = await this.executeWithoutEncryptedFieldsCheck(server, session, timeoutContext);
173
-
174
- if (encryptedFields) {
175
- // Create the required index for queryable encryption support.
176
- const createIndexOp = CreateIndexesOperation.fromIndexSpecification(
177
- db,
178
- name,
179
- { __safeContent__: 1 },
180
- {}
181
- );
182
- await createIndexOp.execute(server, session, timeoutContext);
190
+ // Create auxilliary collections for queryable encryption support.
191
+ const escCollection = encryptedFields.escCollection ?? `enxcol_.${name}.esc`;
192
+ const ecocCollection = encryptedFields.ecocCollection ?? `enxcol_.${name}.ecoc`;
193
+
194
+ for (const collectionName of [escCollection, ecocCollection]) {
195
+ const createOp = new CreateSupportingFLEv2CollectionOperation(db, collectionName, {
196
+ clusteredIndex: {
197
+ key: { _id: 1 },
198
+ unique: true
199
+ },
200
+ session: options.session
201
+ });
202
+ await executeOperation(db.client, createOp, timeoutContext);
183
203
  }
184
204
 
185
- return coll;
205
+ if (!options.encryptedFields) {
206
+ options = { ...options, encryptedFields };
207
+ }
186
208
  }
187
209
 
188
- private async executeWithoutEncryptedFieldsCheck(
189
- server: Server,
190
- session: ClientSession | undefined,
191
- timeoutContext: TimeoutContext
192
- ): Promise<Collection> {
193
- const db = this.db;
194
- const name = this.name;
195
- const options = this.options;
196
-
197
- const cmd: Document = { create: name };
198
- for (const n in options) {
199
- if (
200
- (options as any)[n] != null &&
201
- typeof (options as any)[n] !== 'function' &&
202
- !ILLEGAL_COMMAND_FIELDS.has(n)
203
- ) {
204
- cmd[n] = (options as any)[n];
205
- }
206
- }
207
- // otherwise just execute the command
208
- await super.executeCommand(server, session, cmd, timeoutContext);
209
- return new Collection(db, name, options);
210
+ const coll = await executeOperation(
211
+ db.client,
212
+ new CreateCollectionOperation(db, name, options),
213
+ timeoutContext
214
+ );
215
+
216
+ if (encryptedFields) {
217
+ // Create the required index for queryable encryption support.
218
+ const createIndexOp = CreateIndexesOperation.fromIndexSpecification(
219
+ db,
220
+ name,
221
+ { __safeContent__: 1 },
222
+ { session: options.session }
223
+ );
224
+ await executeOperation(db.client, createIndexOp, timeoutContext);
210
225
  }
226
+
227
+ return coll as unknown as Collection<TSchema>;
211
228
  }
212
229
 
213
230
  defineAspects(CreateCollectionOperation, [Aspect.WRITE_OPERATION]);
@@ -1,10 +1,12 @@
1
1
  import type { Document } from '../bson';
2
+ import { CursorTimeoutContext } from '../cursor/abstract_cursor';
2
3
  import type { Db } from '../db';
3
4
  import { MONGODB_ERROR_CODES, MongoServerError } from '../error';
4
5
  import type { Server } from '../sdam/server';
5
6
  import type { ClientSession } from '../sessions';
6
- import { type TimeoutContext } from '../timeout';
7
+ import { TimeoutContext } from '../timeout';
7
8
  import { CommandOperation, type CommandOperationOptions } from './command';
9
+ import { executeOperation } from './execute_operation';
8
10
  import { Aspect, defineAspects } from './operation';
9
11
 
10
12
  /** @public */
@@ -16,12 +18,10 @@ export interface DropCollectionOptions extends CommandOperationOptions {
16
18
  /** @internal */
17
19
  export class DropCollectionOperation extends CommandOperation<boolean> {
18
20
  override options: DropCollectionOptions;
19
- db: Db;
20
21
  name: string;
21
22
 
22
23
  constructor(db: Db, name: string, options: DropCollectionOptions = {}) {
23
24
  super(db, options);
24
- this.db = db;
25
25
  this.options = options;
26
26
  this.name = name;
27
27
  }
@@ -35,56 +35,70 @@ export class DropCollectionOperation extends CommandOperation<boolean> {
35
35
  session: ClientSession | undefined,
36
36
  timeoutContext: TimeoutContext
37
37
  ): Promise<boolean> {
38
- const db = this.db;
39
- const options = this.options;
40
- const name = this.name;
41
-
42
- const encryptedFieldsMap = db.client.s.options.autoEncryption?.encryptedFieldsMap;
43
- let encryptedFields: Document | undefined =
44
- options.encryptedFields ?? encryptedFieldsMap?.[`${db.databaseName}.${name}`];
45
-
46
- if (!encryptedFields && encryptedFieldsMap) {
47
- // If the MongoClient was configured with an encryptedFieldsMap,
48
- // and no encryptedFields config was available in it or explicitly
49
- // passed as an argument, the spec tells us to look one up using
50
- // listCollections().
51
- const listCollectionsResult = await db
52
- .listCollections({ name }, { nameOnly: false })
53
- .toArray();
54
- encryptedFields = listCollectionsResult?.[0]?.options?.encryptedFields;
55
- }
38
+ await super.executeCommand(server, session, { drop: this.name }, timeoutContext);
39
+ return true;
40
+ }
41
+ }
42
+
43
+ export async function dropCollections(
44
+ db: Db,
45
+ name: string,
46
+ options: DropCollectionOptions
47
+ ): Promise<boolean> {
48
+ const timeoutContext = TimeoutContext.create({
49
+ session: options.session,
50
+ serverSelectionTimeoutMS: db.client.s.options.serverSelectionTimeoutMS,
51
+ waitQueueTimeoutMS: db.client.s.options.waitQueueTimeoutMS,
52
+ timeoutMS: options.timeoutMS
53
+ });
54
+
55
+ const encryptedFieldsMap = db.client.s.options.autoEncryption?.encryptedFieldsMap;
56
+ let encryptedFields: Document | undefined =
57
+ options.encryptedFields ?? encryptedFieldsMap?.[`${db.databaseName}.${name}`];
58
+
59
+ if (!encryptedFields && encryptedFieldsMap) {
60
+ // If the MongoClient was configured with an encryptedFieldsMap,
61
+ // and no encryptedFields config was available in it or explicitly
62
+ // passed as an argument, the spec tells us to look one up using
63
+ // listCollections().
64
+ const listCollectionsResult = await db
65
+ .listCollections(
66
+ { name },
67
+ {
68
+ nameOnly: false,
69
+ session: options.session,
70
+ timeoutContext: new CursorTimeoutContext(timeoutContext, Symbol())
71
+ }
72
+ )
73
+ .toArray();
74
+ encryptedFields = listCollectionsResult?.[0]?.options?.encryptedFields;
75
+ }
56
76
 
57
- if (encryptedFields) {
58
- const escCollection = encryptedFields.escCollection || `enxcol_.${name}.esc`;
59
- const ecocCollection = encryptedFields.ecocCollection || `enxcol_.${name}.ecoc`;
60
-
61
- for (const collectionName of [escCollection, ecocCollection]) {
62
- // Drop auxilliary collections, ignoring potential NamespaceNotFound errors.
63
- const dropOp = new DropCollectionOperation(db, collectionName);
64
- try {
65
- await dropOp.executeWithoutEncryptedFieldsCheck(server, session, timeoutContext);
66
- } catch (err) {
67
- if (
68
- !(err instanceof MongoServerError) ||
69
- err.code !== MONGODB_ERROR_CODES.NamespaceNotFound
70
- ) {
71
- throw err;
72
- }
77
+ if (encryptedFields) {
78
+ const escCollection = encryptedFields.escCollection || `enxcol_.${name}.esc`;
79
+ const ecocCollection = encryptedFields.ecocCollection || `enxcol_.${name}.ecoc`;
80
+
81
+ for (const collectionName of [escCollection, ecocCollection]) {
82
+ // Drop auxilliary collections, ignoring potential NamespaceNotFound errors.
83
+ const dropOp = new DropCollectionOperation(db, collectionName, options);
84
+ try {
85
+ await executeOperation(db.client, dropOp, timeoutContext);
86
+ } catch (err) {
87
+ if (
88
+ !(err instanceof MongoServerError) ||
89
+ err.code !== MONGODB_ERROR_CODES.NamespaceNotFound
90
+ ) {
91
+ throw err;
73
92
  }
74
93
  }
75
94
  }
76
-
77
- return await this.executeWithoutEncryptedFieldsCheck(server, session, timeoutContext);
78
95
  }
79
96
 
80
- private async executeWithoutEncryptedFieldsCheck(
81
- server: Server,
82
- session: ClientSession | undefined,
83
- timeoutContext: TimeoutContext
84
- ): Promise<boolean> {
85
- await super.executeCommand(server, session, { drop: this.name }, timeoutContext);
86
- return true;
87
- }
97
+ return await executeOperation(
98
+ db.client,
99
+ new DropCollectionOperation(db, name, options),
100
+ timeoutContext
101
+ );
88
102
  }
89
103
 
90
104
  /** @public */
@@ -248,8 +248,9 @@ async function tryOperation<
248
248
  if (hasWriteAspect && !isRetryableWriteError(previousOperationError))
249
249
  throw previousOperationError;
250
250
 
251
- if (hasReadAspect && !isRetryableReadError(previousOperationError))
251
+ if (hasReadAspect && !isRetryableReadError(previousOperationError)) {
252
252
  throw previousOperationError;
253
+ }
253
254
 
254
255
  if (
255
256
  previousOperationError instanceof MongoNetworkError &&
@@ -81,6 +81,16 @@ export interface FindOptions<TSchema extends Document = Document>
81
81
  timeoutMode?: CursorTimeoutMode;
82
82
  }
83
83
 
84
+ /** @public */
85
+ export interface FindOneOptions extends FindOptions {
86
+ /** @deprecated Will be removed in the next major version. User provided value will be ignored. */
87
+ batchSize?: number;
88
+ /** @deprecated Will be removed in the next major version. User provided value will be ignored. */
89
+ limit?: number;
90
+ /** @deprecated Will be removed in the next major version. User provided value will be ignored. */
91
+ noCursorTimeout?: boolean;
92
+ }
93
+
84
94
  /** @internal */
85
95
  export class FindOperation extends CommandOperation<CursorResponse> {
86
96
  /**
@@ -185,17 +195,15 @@ function makeFindCommand(ns: MongoDBNamespace, filter: Document, options: FindOp
185
195
 
186
196
  if (typeof options.batchSize === 'number') {
187
197
  if (options.batchSize < 0) {
188
- if (
189
- options.limit &&
190
- options.limit !== 0 &&
191
- Math.abs(options.batchSize) < Math.abs(options.limit)
192
- ) {
193
- findCommand.limit = -options.batchSize;
194
- }
195
-
196
- findCommand.singleBatch = true;
198
+ findCommand.limit = -options.batchSize;
197
199
  } else {
198
- findCommand.batchSize = options.batchSize;
200
+ if (options.batchSize === options.limit) {
201
+ // Spec dictates that if these are equal the batchSize should be one more than the
202
+ // limit to avoid leaving the cursor open.
203
+ findCommand.batchSize = options.batchSize + 1;
204
+ } else {
205
+ findCommand.batchSize = options.batchSize;
206
+ }
199
207
  }
200
208
  }
201
209