mongodb 6.18.0-dev.20250802.sha.be7f808c → 6.18.0-dev.20250806.sha.e628296a
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 +4 -1
- package/lib/cmap/connection.js.map +1 -1
- package/lib/cursor/aggregation_cursor.js +2 -1
- package/lib/cursor/aggregation_cursor.js.map +1 -1
- package/lib/cursor/explainable_cursor.js +36 -0
- package/lib/cursor/explainable_cursor.js.map +1 -0
- package/lib/cursor/find_cursor.js +2 -1
- package/lib/cursor/find_cursor.js.map +1 -1
- package/lib/explain.js +1 -33
- package/lib/explain.js.map +1 -1
- package/lib/index.js +6 -6
- package/lib/index.js.map +1 -1
- package/lib/operations/aggregate.js +10 -8
- package/lib/operations/aggregate.js.map +1 -1
- package/lib/operations/command.js +68 -6
- package/lib/operations/command.js.map +1 -1
- package/lib/operations/drop.js +2 -1
- package/lib/operations/drop.js.map +1 -1
- package/lib/operations/execute_operation.js +15 -2
- package/lib/operations/execute_operation.js.map +1 -1
- package/lib/operations/find.js +13 -24
- package/lib/operations/find.js.map +1 -1
- package/lib/operations/get_more.js +11 -12
- package/lib/operations/get_more.js.map +1 -1
- package/lib/operations/indexes.js +8 -4
- package/lib/operations/indexes.js.map +1 -1
- package/lib/operations/insert.js +18 -3
- package/lib/operations/insert.js.map +1 -1
- package/lib/operations/kill_cursors.js +14 -16
- package/lib/operations/kill_cursors.js.map +1 -1
- package/lib/operations/list_collections.js +8 -7
- package/lib/operations/list_collections.js.map +1 -1
- package/lib/operations/operation.js +39 -2
- package/lib/operations/operation.js.map +1 -1
- package/lib/operations/search_indexes/drop.js +17 -10
- package/lib/operations/search_indexes/drop.js.map +1 -1
- package/lib/sdam/server.js +86 -7
- package/lib/sdam/server.js.map +1 -1
- package/lib/sdam/topology.js +3 -2
- package/lib/sdam/topology.js.map +1 -1
- package/mongodb.d.ts +4 -1
- package/package.json +1 -1
- package/src/cmap/connection.ts +0 -1
- package/src/cursor/aggregation_cursor.ts +1 -1
- package/src/cursor/explainable_cursor.ts +51 -0
- package/src/cursor/find_cursor.ts +1 -1
- package/src/explain.ts +0 -49
- package/src/index.ts +8 -3
- package/src/operations/aggregate.ts +21 -22
- package/src/operations/command.ts +90 -9
- package/src/operations/drop.ts +2 -1
- package/src/operations/execute_operation.ts +20 -3
- package/src/operations/find.ts +28 -49
- package/src/operations/get_more.ts +18 -20
- package/src/operations/indexes.ts +13 -8
- package/src/operations/insert.ts +22 -9
- package/src/operations/kill_cursors.ts +22 -23
- package/src/operations/list_collections.ts +15 -23
- package/src/operations/operation.ts +60 -4
- package/src/operations/search_indexes/drop.ts +25 -16
- package/src/sdam/server.ts +98 -8
- package/src/sdam/topology.ts +4 -3
|
@@ -7,6 +7,7 @@ const read_preference_1 = require("../read_preference");
|
|
|
7
7
|
const server_selection_1 = require("../sdam/server_selection");
|
|
8
8
|
const timeout_1 = require("../timeout");
|
|
9
9
|
const utils_1 = require("../utils");
|
|
10
|
+
const aggregate_1 = require("./aggregate");
|
|
10
11
|
const operation_1 = require("./operation");
|
|
11
12
|
const MMAPv1_RETRY_WRITES_ERROR_CODE = error_1.MONGODB_ERROR_CODES.IllegalOperation;
|
|
12
13
|
const MMAPv1_RETRY_WRITES_ERROR_MESSAGE = 'This MongoDB deployment does not support retryable writes. Please add retryWrites=false to your connection string.';
|
|
@@ -55,6 +56,7 @@ async function executeOperation(client, operation, timeoutContext) {
|
|
|
55
56
|
else if (session.client !== client) {
|
|
56
57
|
throw new error_1.MongoInvalidArgumentError('ClientSession must be from the same MongoClient');
|
|
57
58
|
}
|
|
59
|
+
operation.session ??= session;
|
|
58
60
|
const readPreference = operation.readPreference ?? read_preference_1.ReadPreference.primary;
|
|
59
61
|
const inTransaction = !!session?.inTransaction();
|
|
60
62
|
const hasReadAspect = operation.hasAspect(operation_1.Aspect.READ_OPERATION);
|
|
@@ -135,7 +137,7 @@ async function tryOperation(operation, { topology, timeoutContext, session, read
|
|
|
135
137
|
// in an unknown state.
|
|
136
138
|
selector = (0, server_selection_1.sameServerSelector)(operation.server?.description);
|
|
137
139
|
}
|
|
138
|
-
else if (operation.
|
|
140
|
+
else if (operation instanceof aggregate_1.AggregateOperation && operation.hasWriteStage) {
|
|
139
141
|
// If operation should try to write to secondary use the custom server selector
|
|
140
142
|
// otherwise provide the read preference.
|
|
141
143
|
selector = (0, server_selection_1.secondaryWritableServerSelector)(topology.commonWireVersion, readPreference);
|
|
@@ -167,6 +169,7 @@ async function tryOperation(operation, { topology, timeoutContext, session, read
|
|
|
167
169
|
const maxTries = willRetry ? (timeoutContext.csotEnabled() ? Infinity : 2) : 1;
|
|
168
170
|
let previousOperationError;
|
|
169
171
|
let previousServer;
|
|
172
|
+
const isModernOperation = operation instanceof operation_1.ModernizedOperation;
|
|
170
173
|
for (let tries = 0; tries < maxTries; tries++) {
|
|
171
174
|
if (previousOperationError) {
|
|
172
175
|
if (hasWriteAspect && previousOperationError.code === MMAPv1_RETRY_WRITES_ERROR_CODE) {
|
|
@@ -201,12 +204,22 @@ async function tryOperation(operation, { topology, timeoutContext, session, read
|
|
|
201
204
|
throw new error_1.MongoUnexpectedServerResponseError('Selected server does not support retryable writes');
|
|
202
205
|
}
|
|
203
206
|
}
|
|
207
|
+
operation.server = server;
|
|
204
208
|
try {
|
|
205
209
|
// If tries > 0 and we are command batching we need to reset the batch.
|
|
206
210
|
if (tries > 0 && operation.hasAspect(operation_1.Aspect.COMMAND_BATCHING)) {
|
|
207
211
|
operation.resetBatch();
|
|
208
212
|
}
|
|
209
|
-
|
|
213
|
+
if (!isModernOperation) {
|
|
214
|
+
return await operation.execute(server, session, timeoutContext);
|
|
215
|
+
}
|
|
216
|
+
try {
|
|
217
|
+
const result = await server.modernCommand(operation, timeoutContext);
|
|
218
|
+
return operation.handleOk(result);
|
|
219
|
+
}
|
|
220
|
+
catch (error) {
|
|
221
|
+
return operation.handleError(error);
|
|
222
|
+
}
|
|
210
223
|
}
|
|
211
224
|
catch (operationError) {
|
|
212
225
|
if (!(operationError instanceof error_1.MongoError))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute_operation.js","sourceRoot":"","sources":["../../src/operations/execute_operation.ts"],"names":[],"mappings":";;
|
|
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
|
@@ -3,16 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.FindOperation = void 0;
|
|
4
4
|
const responses_1 = require("../cmap/wire_protocol/responses");
|
|
5
5
|
const error_1 = require("../error");
|
|
6
|
-
const explain_1 = require("../explain");
|
|
7
|
-
const read_concern_1 = require("../read_concern");
|
|
8
6
|
const sort_1 = require("../sort");
|
|
9
7
|
const utils_1 = require("../utils");
|
|
10
8
|
const command_1 = require("./command");
|
|
11
9
|
const operation_1 = require("./operation");
|
|
12
10
|
/** @internal */
|
|
13
|
-
class FindOperation extends command_1.
|
|
11
|
+
class FindOperation extends command_1.ModernizedCommandOperation {
|
|
14
12
|
constructor(ns, filter = {}, options = {}) {
|
|
15
13
|
super(undefined, options);
|
|
14
|
+
this.SERVER_COMMAND_RESPONSE_TYPE = responses_1.CursorResponse;
|
|
16
15
|
this.options = { ...options };
|
|
17
16
|
delete this.options.writeConcern;
|
|
18
17
|
this.ns = ns;
|
|
@@ -21,25 +20,25 @@ class FindOperation extends command_1.CommandOperation {
|
|
|
21
20
|
}
|
|
22
21
|
// special case passing in an ObjectId as a filter
|
|
23
22
|
this.filter = filter != null && filter._bsontype === 'ObjectId' ? { _id: filter } : filter;
|
|
23
|
+
this.SERVER_COMMAND_RESPONSE_TYPE = this.explain ? responses_1.ExplainedCursorResponse : responses_1.CursorResponse;
|
|
24
24
|
}
|
|
25
25
|
get commandName() {
|
|
26
26
|
return 'find';
|
|
27
27
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const options = this.options;
|
|
31
|
-
let findCommand = makeFindCommand(this.ns, this.filter, options);
|
|
32
|
-
if (this.explain) {
|
|
33
|
-
(0, explain_1.validateExplainTimeoutOptions)(this.options, this.explain);
|
|
34
|
-
findCommand = (0, explain_1.decorateWithExplain)(findCommand, this.explain);
|
|
35
|
-
}
|
|
36
|
-
return await server.command(this.ns, findCommand, {
|
|
28
|
+
buildOptions(timeoutContext) {
|
|
29
|
+
return {
|
|
37
30
|
...this.options,
|
|
38
31
|
...this.bsonOptions,
|
|
39
32
|
documentsReturnedIn: 'firstBatch',
|
|
40
|
-
session,
|
|
33
|
+
session: this.session,
|
|
41
34
|
timeoutContext
|
|
42
|
-
}
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
handleOk(response) {
|
|
38
|
+
return response;
|
|
39
|
+
}
|
|
40
|
+
buildCommandDocument() {
|
|
41
|
+
return makeFindCommand(this.ns, this.filter, this.options);
|
|
43
42
|
}
|
|
44
43
|
}
|
|
45
44
|
exports.FindOperation = FindOperation;
|
|
@@ -101,13 +100,6 @@ function makeFindCommand(ns, filter, options) {
|
|
|
101
100
|
if (options.comment !== undefined) {
|
|
102
101
|
findCommand.comment = options.comment;
|
|
103
102
|
}
|
|
104
|
-
if (typeof options.maxTimeMS === 'number') {
|
|
105
|
-
findCommand.maxTimeMS = options.maxTimeMS;
|
|
106
|
-
}
|
|
107
|
-
const readConcern = read_concern_1.ReadConcern.fromOptions(options);
|
|
108
|
-
if (readConcern) {
|
|
109
|
-
findCommand.readConcern = readConcern.toJSON();
|
|
110
|
-
}
|
|
111
103
|
if (options.max) {
|
|
112
104
|
findCommand.max = options.max;
|
|
113
105
|
}
|
|
@@ -138,9 +130,6 @@ function makeFindCommand(ns, filter, options) {
|
|
|
138
130
|
if (typeof options.allowPartialResults === 'boolean') {
|
|
139
131
|
findCommand.allowPartialResults = options.allowPartialResults;
|
|
140
132
|
}
|
|
141
|
-
if (options.collation) {
|
|
142
|
-
findCommand.collation = options.collation;
|
|
143
|
-
}
|
|
144
133
|
if (typeof options.allowDiskUse === 'boolean') {
|
|
145
134
|
findCommand.allowDiskUse = options.allowDiskUse;
|
|
146
135
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/operations/find.ts"],"names":[],"mappings":";;;AACA,+DAA0F;AAE1F,oCAAqD;
|
|
1
|
+
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/operations/find.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,10 @@ const error_1 = require("../error");
|
|
|
6
6
|
const utils_1 = require("../utils");
|
|
7
7
|
const operation_1 = require("./operation");
|
|
8
8
|
/** @internal */
|
|
9
|
-
class GetMoreOperation extends operation_1.
|
|
9
|
+
class GetMoreOperation extends operation_1.ModernizedOperation {
|
|
10
10
|
constructor(ns, cursorId, server, options) {
|
|
11
11
|
super(options);
|
|
12
|
+
this.SERVER_COMMAND_RESPONSE_TYPE = responses_1.CursorResponse;
|
|
12
13
|
this.options = options;
|
|
13
14
|
this.ns = ns;
|
|
14
15
|
this.cursorId = cursorId;
|
|
@@ -17,14 +18,7 @@ class GetMoreOperation extends operation_1.AbstractOperation {
|
|
|
17
18
|
get commandName() {
|
|
18
19
|
return 'getMore';
|
|
19
20
|
}
|
|
20
|
-
|
|
21
|
-
* Although there is a server already associated with the get more operation, the signature
|
|
22
|
-
* for execute passes a server so we will just use that one.
|
|
23
|
-
*/
|
|
24
|
-
async execute(server, _session, timeoutContext) {
|
|
25
|
-
if (server !== this.server) {
|
|
26
|
-
throw new error_1.MongoRuntimeError('Getmore must run on the same server operation began on');
|
|
27
|
-
}
|
|
21
|
+
buildCommand(connection) {
|
|
28
22
|
if (this.cursorId == null || this.cursorId.isZero()) {
|
|
29
23
|
throw new error_1.MongoRuntimeError('Unable to iterate cursor with no id');
|
|
30
24
|
}
|
|
@@ -46,16 +40,21 @@ class GetMoreOperation extends operation_1.AbstractOperation {
|
|
|
46
40
|
}
|
|
47
41
|
// we check for undefined specifically here to allow falsy values
|
|
48
42
|
// eslint-disable-next-line no-restricted-syntax
|
|
49
|
-
if (this.options.comment !== undefined && (0, utils_1.maxWireVersion)(
|
|
43
|
+
if (this.options.comment !== undefined && (0, utils_1.maxWireVersion)(connection) >= 9) {
|
|
50
44
|
getMoreCmd.comment = this.options.comment;
|
|
51
45
|
}
|
|
52
|
-
|
|
46
|
+
return getMoreCmd;
|
|
47
|
+
}
|
|
48
|
+
buildOptions(timeoutContext) {
|
|
49
|
+
return {
|
|
53
50
|
returnFieldSelector: null,
|
|
54
51
|
documentsReturnedIn: 'nextBatch',
|
|
55
52
|
timeoutContext,
|
|
56
53
|
...this.options
|
|
57
54
|
};
|
|
58
|
-
|
|
55
|
+
}
|
|
56
|
+
handleOk(response) {
|
|
57
|
+
return response;
|
|
59
58
|
}
|
|
60
59
|
}
|
|
61
60
|
exports.GetMoreOperation = GetMoreOperation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_more.js","sourceRoot":"","sources":["../../src/operations/get_more.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"get_more.js","sourceRoot":"","sources":["../../src/operations/get_more.ts"],"names":[],"mappings":";;;AAEA,+DAAiE;AACjE,oCAA6C;AAG7C,oCAAiE;AACjE,2CAAgG;AA+BhG,gBAAgB;AAChB,MAAa,gBAAiB,SAAQ,+BAAmC;IAKvE,YAAY,EAAoB,EAAE,QAAc,EAAE,MAAc,EAAE,OAAuB;QACvF,KAAK,CAAC,OAAO,CAAC,CAAC;QALR,iCAA4B,GAAG,0BAAc,CAAC;QAOrD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAa,WAAW;QACtB,OAAO,SAAkB,CAAC;IAC5B,CAAC;IAEQ,YAAY,CAAC,UAAsB;QAC1C,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACpD,MAAM,IAAI,yBAAiB,CAAC,qCAAqC,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC;QACtC,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,gEAAgE;YAChE,wFAAwF;YACxF,MAAM,IAAI,yBAAiB,CAAC,qDAAqD,CAAC,CAAC;QACrF,CAAC;QAED,MAAM,UAAU,GAAmB;YACjC,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,UAAU;SACX,CAAC;QAEF,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC/C,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;YACpD,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;QACrD,CAAC;QAED,iEAAiE;QACjE,gDAAgD;QAChD,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,IAAA,sBAAc,EAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1E,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAC5C,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAEQ,YAAY,CAAC,cAA8B;QAClD,OAAO;YACL,mBAAmB,EAAE,IAAI;YACzB,mBAAmB,EAAE,WAAW;YAChC,cAAc;YACd,GAAG,IAAI,CAAC,OAAO;SAChB,CAAC;IACJ,CAAC;IAEQ,QAAQ,CACf,QAAgE;QAEhE,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAlED,4CAkEC;AAED,IAAA,yBAAa,EAAC,gBAAgB,EAAE,CAAC,kBAAM,CAAC,cAAc,EAAE,kBAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC"}
|
|
@@ -143,9 +143,10 @@ class DropIndexOperation extends command_1.CommandOperation {
|
|
|
143
143
|
}
|
|
144
144
|
exports.DropIndexOperation = DropIndexOperation;
|
|
145
145
|
/** @internal */
|
|
146
|
-
class ListIndexesOperation extends command_1.
|
|
146
|
+
class ListIndexesOperation extends command_1.ModernizedCommandOperation {
|
|
147
147
|
constructor(collection, options) {
|
|
148
148
|
super(collection, options);
|
|
149
|
+
this.SERVER_COMMAND_RESPONSE_TYPE = responses_1.CursorResponse;
|
|
149
150
|
this.options = { ...options };
|
|
150
151
|
delete this.options.writeConcern;
|
|
151
152
|
this.collectionNamespace = collection.s.namespace;
|
|
@@ -153,8 +154,8 @@ class ListIndexesOperation extends command_1.CommandOperation {
|
|
|
153
154
|
get commandName() {
|
|
154
155
|
return 'listIndexes';
|
|
155
156
|
}
|
|
156
|
-
|
|
157
|
-
const serverWireVersion = (0, utils_1.maxWireVersion)(
|
|
157
|
+
buildCommandDocument(connection) {
|
|
158
|
+
const serverWireVersion = (0, utils_1.maxWireVersion)(connection);
|
|
158
159
|
const cursor = this.options.batchSize ? { batchSize: this.options.batchSize } : {};
|
|
159
160
|
const command = { listIndexes: this.collectionNamespace.collection, cursor };
|
|
160
161
|
// we check for undefined specifically here to allow falsy values
|
|
@@ -162,7 +163,10 @@ class ListIndexesOperation extends command_1.CommandOperation {
|
|
|
162
163
|
if (serverWireVersion >= 9 && this.options.comment !== undefined) {
|
|
163
164
|
command.comment = this.options.comment;
|
|
164
165
|
}
|
|
165
|
-
return
|
|
166
|
+
return command;
|
|
167
|
+
}
|
|
168
|
+
handleOk(response) {
|
|
169
|
+
return response;
|
|
166
170
|
}
|
|
167
171
|
}
|
|
168
172
|
exports.ListIndexesOperation = ListIndexesOperation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../src/operations/indexes.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../src/operations/indexes.ts"],"names":[],"mappings":"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"}
|
package/lib/operations/insert.js
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.InsertOneOperation = exports.InsertOperation = void 0;
|
|
4
|
+
const responses_1 = require("../cmap/wire_protocol/responses");
|
|
4
5
|
const error_1 = require("../error");
|
|
5
6
|
const utils_1 = require("../utils");
|
|
6
7
|
const command_1 = require("./command");
|
|
7
8
|
const operation_1 = require("./operation");
|
|
8
9
|
/** @internal */
|
|
9
|
-
class InsertOperation extends command_1.
|
|
10
|
+
class InsertOperation extends command_1.ModernizedCommandOperation {
|
|
10
11
|
constructor(ns, documents, options) {
|
|
11
12
|
super(undefined, options);
|
|
13
|
+
this.SERVER_COMMAND_RESPONSE_TYPE = responses_1.MongoDBResponse;
|
|
12
14
|
this.options = { ...options, checkKeys: options.checkKeys ?? false };
|
|
13
15
|
this.ns = ns;
|
|
14
16
|
this.documents = documents;
|
|
@@ -16,7 +18,7 @@ class InsertOperation extends command_1.CommandOperation {
|
|
|
16
18
|
get commandName() {
|
|
17
19
|
return 'insert';
|
|
18
20
|
}
|
|
19
|
-
|
|
21
|
+
buildCommandDocument(_connection, _session) {
|
|
20
22
|
const options = this.options ?? {};
|
|
21
23
|
const ordered = typeof options.ordered === 'boolean' ? options.ordered : true;
|
|
22
24
|
const command = {
|
|
@@ -32,7 +34,7 @@ class InsertOperation extends command_1.CommandOperation {
|
|
|
32
34
|
if (options.comment !== undefined) {
|
|
33
35
|
command.comment = options.comment;
|
|
34
36
|
}
|
|
35
|
-
return
|
|
37
|
+
return command;
|
|
36
38
|
}
|
|
37
39
|
}
|
|
38
40
|
exports.InsertOperation = InsertOperation;
|
|
@@ -53,6 +55,19 @@ class InsertOneOperation extends InsertOperation {
|
|
|
53
55
|
insertedId: this.documents[0]._id
|
|
54
56
|
};
|
|
55
57
|
}
|
|
58
|
+
handleOk(response) {
|
|
59
|
+
const res = super.handleOk(response);
|
|
60
|
+
if (res.code)
|
|
61
|
+
throw new error_1.MongoServerError(res);
|
|
62
|
+
if (res.writeErrors) {
|
|
63
|
+
// This should be a WriteError but we can't change it now because of error hierarchy
|
|
64
|
+
throw new error_1.MongoServerError(res.writeErrors[0]);
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
acknowledged: this.writeConcern?.w !== 0,
|
|
68
|
+
insertedId: this.documents[0]._id
|
|
69
|
+
};
|
|
70
|
+
}
|
|
56
71
|
}
|
|
57
72
|
exports.InsertOneOperation = InsertOneOperation;
|
|
58
73
|
(0, operation_1.defineAspects)(InsertOperation, [operation_1.Aspect.RETRYABLE, operation_1.Aspect.WRITE_OPERATION]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insert.js","sourceRoot":"","sources":["../../src/operations/insert.ts"],"names":[],"mappings":";;;AAGA,oCAA4C;AAK5C,oCAAwE;AACxE,
|
|
1
|
+
{"version":3,"file":"insert.js","sourceRoot":"","sources":["../../src/operations/insert.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.KillCursorsOperation = void 0;
|
|
4
|
+
const responses_1 = require("../cmap/wire_protocol/responses");
|
|
4
5
|
const error_1 = require("../error");
|
|
5
|
-
const utils_1 = require("../utils");
|
|
6
6
|
const operation_1 = require("./operation");
|
|
7
|
-
class KillCursorsOperation extends operation_1.
|
|
7
|
+
class KillCursorsOperation extends operation_1.ModernizedOperation {
|
|
8
8
|
constructor(cursorId, ns, server, options) {
|
|
9
9
|
super(options);
|
|
10
|
+
this.SERVER_COMMAND_RESPONSE_TYPE = responses_1.MongoDBResponse;
|
|
10
11
|
this.ns = ns;
|
|
11
12
|
this.cursorId = cursorId;
|
|
12
13
|
this.server = server;
|
|
@@ -14,10 +15,7 @@ class KillCursorsOperation extends operation_1.AbstractOperation {
|
|
|
14
15
|
get commandName() {
|
|
15
16
|
return 'killCursors';
|
|
16
17
|
}
|
|
17
|
-
|
|
18
|
-
if (server !== this.server) {
|
|
19
|
-
throw new error_1.MongoRuntimeError('Killcursor must run on the same server operation began on');
|
|
20
|
-
}
|
|
18
|
+
buildCommand(_connection, _session) {
|
|
21
19
|
const killCursors = this.ns.collection;
|
|
22
20
|
if (killCursors == null) {
|
|
23
21
|
// Cursors should have adopted the namespace returned by MongoDB
|
|
@@ -28,16 +26,16 @@ class KillCursorsOperation extends operation_1.AbstractOperation {
|
|
|
28
26
|
killCursors,
|
|
29
27
|
cursors: [this.cursorId]
|
|
30
28
|
};
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
29
|
+
return killCursorsCommand;
|
|
30
|
+
}
|
|
31
|
+
buildOptions(timeoutContext) {
|
|
32
|
+
return {
|
|
33
|
+
session: this.session,
|
|
34
|
+
timeoutContext
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
handleError(_error) {
|
|
38
|
+
// The driver should never emit errors from killCursors, this is spec-ed behavior
|
|
41
39
|
}
|
|
42
40
|
}
|
|
43
41
|
exports.KillCursorsOperation = KillCursorsOperation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kill_cursors.js","sourceRoot":"","sources":["../../src/operations/kill_cursors.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"kill_cursors.js","sourceRoot":"","sources":["../../src/operations/kill_cursors.ts"],"names":[],"mappings":";;;AAEA,+DAAkE;AAClE,oCAA8D;AAK9D,2CAAgG;AAYhG,MAAa,oBAAqB,SAAQ,+BAAyB;IAIjE,YAAY,QAAc,EAAE,EAAoB,EAAE,MAAc,EAAE,OAAyB;QACzF,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,iCAA4B,GAAG,2BAAe,CAAC;QAKtD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAa,WAAW;QACtB,OAAO,aAAsB,CAAC;IAChC,CAAC;IAEQ,YAAY,CAAC,WAAuB,EAAE,QAAwB;QACrE,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC;QACvC,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;YACxB,gEAAgE;YAChE,wFAAwF;YACxF,MAAM,IAAI,yBAAiB,CAAC,yDAAyD,CAAC,CAAC;QACzF,CAAC;QAED,MAAM,kBAAkB,GAAuB;YAC7C,WAAW;YACX,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;SACzB,CAAC;QAEF,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAEQ,YAAY,CAAC,cAA8B;QAClD,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,cAAc;SACf,CAAC;IACJ,CAAC;IAEQ,WAAW,CAAC,MAAkB;QACrC,iFAAiF;IACnF,CAAC;CACF;AAzCD,oDAyCC;AAED,IAAA,yBAAa,EAAC,oBAAoB,EAAE,CAAC,kBAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC"}
|
|
@@ -6,9 +6,10 @@ const utils_1 = require("../utils");
|
|
|
6
6
|
const command_1 = require("./command");
|
|
7
7
|
const operation_1 = require("./operation");
|
|
8
8
|
/** @internal */
|
|
9
|
-
class ListCollectionsOperation extends command_1.
|
|
9
|
+
class ListCollectionsOperation extends command_1.ModernizedCommandOperation {
|
|
10
10
|
constructor(db, filter, options) {
|
|
11
11
|
super(db, options);
|
|
12
|
+
this.SERVER_COMMAND_RESPONSE_TYPE = responses_1.CursorResponse;
|
|
12
13
|
this.options = { ...options };
|
|
13
14
|
delete this.options.writeConcern;
|
|
14
15
|
this.db = db;
|
|
@@ -18,15 +19,12 @@ class ListCollectionsOperation extends command_1.CommandOperation {
|
|
|
18
19
|
if (typeof this.options.batchSize === 'number') {
|
|
19
20
|
this.batchSize = this.options.batchSize;
|
|
20
21
|
}
|
|
22
|
+
this.SERVER_COMMAND_RESPONSE_TYPE = this.explain ? responses_1.ExplainedCursorResponse : responses_1.CursorResponse;
|
|
21
23
|
}
|
|
22
24
|
get commandName() {
|
|
23
25
|
return 'listCollections';
|
|
24
26
|
}
|
|
25
|
-
|
|
26
|
-
return await super.executeCommand(server, session, this.generateCommand((0, utils_1.maxWireVersion)(server)), timeoutContext, responses_1.CursorResponse);
|
|
27
|
-
}
|
|
28
|
-
/* This is here for the purpose of unit testing the final command that gets sent. */
|
|
29
|
-
generateCommand(wireVersion) {
|
|
27
|
+
buildCommandDocument(connection) {
|
|
30
28
|
const command = {
|
|
31
29
|
listCollections: 1,
|
|
32
30
|
filter: this.filter,
|
|
@@ -36,11 +34,14 @@ class ListCollectionsOperation extends command_1.CommandOperation {
|
|
|
36
34
|
};
|
|
37
35
|
// we check for undefined specifically here to allow falsy values
|
|
38
36
|
// eslint-disable-next-line no-restricted-syntax
|
|
39
|
-
if (
|
|
37
|
+
if ((0, utils_1.maxWireVersion)(connection) >= 9 && this.options.comment !== undefined) {
|
|
40
38
|
command.comment = this.options.comment;
|
|
41
39
|
}
|
|
42
40
|
return command;
|
|
43
41
|
}
|
|
42
|
+
handleOk(response) {
|
|
43
|
+
return response;
|
|
44
|
+
}
|
|
44
45
|
}
|
|
45
46
|
exports.ListCollectionsOperation = ListCollectionsOperation;
|
|
46
47
|
(0, operation_1.defineAspects)(ListCollectionsOperation, [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list_collections.js","sourceRoot":"","sources":["../../src/operations/list_collections.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"list_collections.js","sourceRoot":"","sources":["../../src/operations/list_collections.ts"],"names":[],"mappings":";;;AAEA,+DAA0F;AAI1F,oCAA0C;AAC1C,uCAAqF;AACrF,2CAAoD;AAmBpD,gBAAgB;AAChB,MAAa,wBAAyB,SAAQ,oCAA0C;IAgBtF,YAAY,EAAM,EAAE,MAAgB,EAAE,OAAgC;QACpE,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAhBZ,iCAA4B,GAAG,0BAAc,CAAC;QAkBrD,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QACjC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACxC,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC;QAElE,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,mCAAuB,CAAC,CAAC,CAAC,0BAAc,CAAC;IAC9F,CAAC;IAED,IAAa,WAAW;QACtB,OAAO,iBAA0B,CAAC;IACpC,CAAC;IAEQ,oBAAoB,CAAC,UAAsB;QAClD,MAAM,OAAO,GAAa;YACxB,eAAe,EAAE,CAAC;YAClB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE;YAC3D,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;SAClD,CAAC;QAEF,iEAAiE;QACjE,gDAAgD;QAChD,IAAI,IAAA,sBAAc,EAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1E,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QACzC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEQ,QAAQ,CACf,QAAgE;QAEhE,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AA5DD,4DA4DC;AAcD,IAAA,yBAAa,EAAC,wBAAwB,EAAE;IACtC,kBAAM,CAAC,cAAc;IACrB,kBAAM,CAAC,SAAS;IAChB,kBAAM,CAAC,eAAe;CACvB,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AbstractOperation = exports.Aspect = void 0;
|
|
3
|
+
exports.ModernizedOperation = exports.AbstractOperation = exports.Aspect = void 0;
|
|
4
4
|
exports.defineAspects = defineAspects;
|
|
5
5
|
const bson_1 = require("../bson");
|
|
6
6
|
const read_preference_1 = require("../read_preference");
|
|
@@ -31,7 +31,6 @@ class AbstractOperation {
|
|
|
31
31
|
this._session = options.session != null ? options.session : undefined;
|
|
32
32
|
this.options = options;
|
|
33
33
|
this.bypassPinningCheck = !!options.bypassPinningCheck;
|
|
34
|
-
this.trySecondaryWrite = false;
|
|
35
34
|
}
|
|
36
35
|
hasAspect(aspect) {
|
|
37
36
|
const ctor = this.constructor;
|
|
@@ -44,6 +43,9 @@ class AbstractOperation {
|
|
|
44
43
|
get session() {
|
|
45
44
|
return this._session;
|
|
46
45
|
}
|
|
46
|
+
set session(session) {
|
|
47
|
+
this._session = session;
|
|
48
|
+
}
|
|
47
49
|
clearSession() {
|
|
48
50
|
this._session = undefined;
|
|
49
51
|
}
|
|
@@ -58,6 +60,41 @@ class AbstractOperation {
|
|
|
58
60
|
}
|
|
59
61
|
}
|
|
60
62
|
exports.AbstractOperation = AbstractOperation;
|
|
63
|
+
/** @internal */
|
|
64
|
+
class ModernizedOperation extends AbstractOperation {
|
|
65
|
+
/** this will never be used - but we must implement it to satisfy AbstractOperation's interface */
|
|
66
|
+
execute(_server, _session, _timeoutContext) {
|
|
67
|
+
throw new Error('cannot execute!!');
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Given an instance of a MongoDBResponse, map the response to the correct result type. For
|
|
71
|
+
* example, a `CountOperation` might map the response as follows:
|
|
72
|
+
*
|
|
73
|
+
* ```typescript
|
|
74
|
+
* override handleOk(response: InstanceType<typeof this.SERVER_COMMAND_RESPONSE_TYPE>): TResult {
|
|
75
|
+
* return response.toObject(this.bsonOptions).n ?? 0;
|
|
76
|
+
* }
|
|
77
|
+
*
|
|
78
|
+
* // or, with type safety:
|
|
79
|
+
* override handleOk(response: InstanceType<typeof this.SERVER_COMMAND_RESPONSE_TYPE>): TResult {
|
|
80
|
+
* return response.getNumber('n') ?? 0;
|
|
81
|
+
* }
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
handleOk(response) {
|
|
85
|
+
return response.toObject(this.bsonOptions);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Optional.
|
|
89
|
+
*
|
|
90
|
+
* If the operation performs error handling, such as wrapping, renaming the error, or squashing errors
|
|
91
|
+
* this method can be overridden.
|
|
92
|
+
*/
|
|
93
|
+
handleError(error) {
|
|
94
|
+
throw error;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
exports.ModernizedOperation = ModernizedOperation;
|
|
61
98
|
function defineAspects(operation, aspects) {
|
|
62
99
|
if (!Array.isArray(aspects) && !(aspects instanceof Set)) {
|
|
63
100
|
aspects = [aspects];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation.js","sourceRoot":"","sources":["../../src/operations/operation.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"operation.js","sourceRoot":"","sources":["../../src/operations/operation.ts"],"names":[],"mappings":"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"}
|