mongodb 6.18.0-dev.20250731.sha.c5365347 → 6.18.0-dev.20250801.sha.aac76296
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/collection.js +3 -4
- 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/package.json +1 -1
- package/src/collection.ts +2 -5
- package/src/db.ts +6 -13
- package/src/operations/create_collection.ts +81 -64
- package/src/operations/drop.ts +61 -47
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,7 +300,7 @@ 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
306
|
const cursor = this.find(filter, options).limit(-1).batchSize(1);
|
|
@@ -728,7 +727,7 @@ class Collection {
|
|
|
728
727
|
* @remarks Only available when used against a 7.0+ Atlas cluster.
|
|
729
728
|
*/
|
|
730
729
|
async dropSearchIndex(name) {
|
|
731
|
-
return await (0, execute_operation_1.executeOperation)(this.client, new
|
|
730
|
+
return await (0, execute_operation_1.executeOperation)(this.client, new drop_1.DropSearchIndexOperation(this, name));
|
|
732
731
|
}
|
|
733
732
|
/**
|
|
734
733
|
* 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":";;;AAuJA,8CA4EC;AAlOD,+DAGyC;AACzC,8CAA2C;AAE3C,oCAAmD;AAInD,wCAA4C;AAC5C,uCAA2E;AAC3E,2DAAuD;AACvD,uCAAmD;AACnD,2CAAoD;AAEpD,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,GAAG;IACH,UAAU;IACV,WAAW;IACX,GAAG;IACH,OAAO;IACP,aAAa;IACb,WAAW;IACX,KAAK;IACL,gBAAgB;IAChB,SAAS;IACT,aAAa;IACb,cAAc;IACd,KAAK;IACL,aAAa;IACb,aAAa;IACb,cAAc;IACd,eAAe;IACf,gBAAgB;IAChB,YAAY;IACZ,oBAAoB;IACpB,iBAAiB;IACjB,sBAAsB;CACvB,CAAC,CAAC;AAmEH,eAAe;AACf,MAAM,kBAAkB,GACtB,iHAAiH,CAAC;AAEpH,gBAAgB;AAChB,MAAa,yBAA0B,SAAQ,0BAA4B;IAKzE,YAAY,EAAM,EAAE,IAAY,EAAE,UAAmC,EAAE;QACrE,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAEnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,IAAa,WAAW;QACtB,OAAO,QAAiB,CAAC;IAC3B,CAAC;IAEQ,KAAK,CAAC,OAAO,CACpB,MAAc,EACd,OAAkC,EAClC,cAA8B;QAE9B,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAE7B,MAAM,GAAG,GAAa,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACtD,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,UAAU,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxF,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YACtB,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,MAAM,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;QACjE,OAAO,IAAI,uBAAU,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;CACF;AArCD,8DAqCC;AAEM,KAAK,UAAU,iBAAiB,CACrC,EAAM,EACN,IAAY,EACZ,OAAgC;IAEhC,MAAM,cAAc,GAAG,wBAAc,CAAC,MAAM,CAAC;QAC3C,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,wBAAwB,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,wBAAwB;QACtE,kBAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB;QAC1D,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;IAEH,MAAM,eAAe,GACnB,OAAO,CAAC,eAAe;QACvB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,kBAAkB,EAAE,CAAC,GAAG,EAAE,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC,CAAC;IAEzF,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,wCAAyC,SAAQ,yBAAyB;YACrE,OAAO,CACd,MAAc,EACd,OAAkC,EAClC,cAA8B;gBAE9B,wDAAwD;gBACxD,iEAAiE;gBACjE,IACE,CAAC,MAAM,CAAC,YAAY;oBACpB,MAAM,CAAC,WAAW,CAAC,cAAc,GAAG,yCAA6B,EACjE,CAAC;oBACD,MAAM,IAAI,+BAAuB,CAC/B,GAAG,kBAAkB,2CAA2C,2CAA+B,EAAE,CAClG,CAAC;gBACJ,CAAC;gBAED,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;YACxD,CAAC;SACF;QAED,kEAAkE;QAClE,MAAM,aAAa,GAAG,eAAe,CAAC,aAAa,IAAI,WAAW,IAAI,MAAM,CAAC;QAC7E,MAAM,cAAc,GAAG,eAAe,CAAC,cAAc,IAAI,WAAW,IAAI,OAAO,CAAC;QAEhF,KAAK,MAAM,cAAc,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC;YAC7D,MAAM,QAAQ,GAAG,IAAI,wCAAwC,CAAC,EAAE,EAAE,cAAc,EAAE;gBAChF,cAAc,EAAE;oBACd,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;oBACf,MAAM,EAAE,IAAI;iBACb;gBACD,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;YACH,MAAM,IAAA,oCAAgB,EAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YAC7B,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,eAAe,EAAE,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,IAAA,oCAAgB,EACjC,EAAE,CAAC,MAAM,EACT,IAAI,yBAAyB,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAChD,cAAc,CACf,CAAC;IAEF,IAAI,eAAe,EAAE,CAAC;QACpB,8DAA8D;QAC9D,MAAM,aAAa,GAAG,gCAAsB,CAAC,sBAAsB,CACjE,EAAE,EACF,IAAI,EACJ,EAAE,eAAe,EAAE,CAAC,EAAE,EACtB,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAC7B,CAAC;QACF,MAAM,IAAA,oCAAgB,EAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,IAAsC,CAAC;AAChD,CAAC;AAED,IAAA,yBAAa,EAAC,yBAAyB,EAAE,CAAC,kBAAM,CAAC,eAAe,CAAC,CAAC,CAAC"}
|
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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"}
|
package/package.json
CHANGED
package/src/collection.ts
CHANGED
|
@@ -37,7 +37,7 @@ 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
|
|
@@ -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
|
/**
|
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
|
/**
|
|
@@ -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 */
|