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 +12 -2
- package/lib/collection.js +11 -7
- package/lib/collection.js.map +1 -1
- package/lib/db.js +4 -2
- package/lib/db.js.map +1 -1
- package/lib/operations/create_collection.js +52 -42
- package/lib/operations/create_collection.js.map +1 -1
- package/lib/operations/drop.js +46 -36
- package/lib/operations/drop.js.map +1 -1
- package/lib/operations/execute_operation.js +2 -1
- package/lib/operations/execute_operation.js.map +1 -1
- package/lib/operations/find.js +9 -7
- package/lib/operations/find.js.map +1 -1
- package/mongodb.d.ts +12 -2
- package/package.json +1 -1
- package/src/collection.ts +14 -12
- package/src/db.ts +6 -13
- package/src/index.ts +1 -1
- package/src/operations/create_collection.ts +81 -64
- package/src/operations/drop.ts +61 -47
- package/src/operations/execute_operation.ts +2 -1
- package/src/operations/find.ts +18 -10
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<
|
|
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<
|
|
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
|
|
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
|
|
303
|
+
return await this.s.db.dropCollection(this.collectionName, options);
|
|
305
304
|
}
|
|
306
305
|
async findOne(filter = {}, options = {}) {
|
|
307
|
-
|
|
308
|
-
|
|
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
|
|
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
|
|
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.
|
package/lib/collection.js.map
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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":";;;AAAA,mCAAgC;AAChC,iCAAsF;AACtF,mDAAoG;AACpG,6CAAkE;AAClE,yCAAyC;AACzC,oEAAgE;AAChE,8EAAyE;AACzE,oEAA6F;AAC7F,mCAAoD;AAIpD,
|
|
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
|
|
90
|
-
if (
|
|
91
|
-
|
|
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":";;;
|
|
1
|
+
{"version":3,"file":"create_collection.js","sourceRoot":"","sources":["../../src/operations/create_collection.ts"],"names":[],"mappings":"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"}
|
package/lib/operations/drop.js
CHANGED
|
@@ -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":";;;
|
|
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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"}
|
package/lib/operations/find.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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":";;;AACA,+DAA0F;AAE1F,oCAAqD;AACrD,wCAIoB;AACpB,kDAA8C;AAG9C,kCAAgD;AAEhD,oCAAqE;AACrE,uCAAkG;AAClG,2CAA+D;
|
|
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<
|
|
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<
|
|
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
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 {
|
|
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
|
|
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
|
|
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<
|
|
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<
|
|
547
|
+
options?: Omit<FindOneOptions, 'timeoutMode'> & Abortable
|
|
551
548
|
): Promise<T | null>;
|
|
552
549
|
|
|
553
550
|
async findOne(
|
|
554
551
|
filter: Filter<TSchema> = {},
|
|
555
|
-
options:
|
|
552
|
+
options: Omit<FindOneOptions, 'timeoutMode'> & Abortable = {}
|
|
556
553
|
): Promise<WithId<TSchema> | null> {
|
|
557
|
-
|
|
558
|
-
|
|
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
|
|
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
|
-
|
|
245
|
-
|
|
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
|
-
|
|
414
|
-
|
|
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 {
|
|
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
|
|
139
|
-
|
|
140
|
-
|
|
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
|
-
|
|
168
|
-
|
|
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
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
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
|
-
|
|
205
|
+
if (!options.encryptedFields) {
|
|
206
|
+
options = { ...options, encryptedFields };
|
|
207
|
+
}
|
|
186
208
|
}
|
|
187
209
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
timeoutContext
|
|
192
|
-
)
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
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]);
|
package/src/operations/drop.ts
CHANGED
|
@@ -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 {
|
|
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
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
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
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
timeoutContext
|
|
84
|
-
)
|
|
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 &&
|
package/src/operations/find.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
|