@webda/mongo 4.0.0-beta.5 → 4.0.0-beta.7
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/README.md +5 -4
- package/lib/mongodb.service.d.ts +52 -3
- package/lib/mongodb.service.d.ts.map +1 -1
- package/lib/mongodb.service.js +198 -13
- package/lib/mongodb.service.js.map +1 -1
- package/package.json +5 -5
- package/webda.module.json +24 -3
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
This module is part of Webda Application Framework that allows you to quickly develop applications with all modern prerequisites: Security, Extensibility, GraphQL, REST, CloudNative [https://webda.io](https://webda.io)
|
|
4
4
|
|
|
5
|
-
<img src="https://webda.io/
|
|
5
|
+
<img src="https://webda.io/img/webda.svg" width="128" />
|
|
6
6
|
|
|
7
7
|

|
|
8
8
|
|
|
@@ -99,6 +99,7 @@ await user.delete(); // hard delete
|
|
|
99
99
|
- Related: [`@webda/postgres`](../postgres) for a SQL-backed alternative; [`@webda/aws`](../aws) for `DynamoStore`; [`@webda/core`](../core) for the `Store` base class and model CRUD API.
|
|
100
100
|
|
|
101
101
|
<!-- README_FOOTER -->
|
|
102
|
+
|
|
102
103
|
## Sponsors
|
|
103
104
|
|
|
104
105
|
<!--
|
|
@@ -107,12 +108,12 @@ Support this project by becoming a sponsor. Your logo will show up here with a l
|
|
|
107
108
|
|
|
108
109
|
Arize AI is a machine learning observability and model monitoring platform. It helps you visualize, monitor, and explain your machine learning models. [Learn more](https://arize.com)
|
|
109
110
|
|
|
110
|
-
[<img src="https://
|
|
111
|
+
[<img src="https://webda.io/img/sponsors/arize.svg" width="200">](https://arize.com)
|
|
111
112
|
|
|
112
113
|
Loopingz is a software development company that provides consulting and development services. [Learn more](https://loopingz.com)
|
|
113
114
|
|
|
114
|
-
[<img src="https://
|
|
115
|
+
[<img src="https://webda.io/img/sponsors/loopingz.png" width="200">](https://loopingz.com)
|
|
115
116
|
|
|
116
117
|
Tellae is an innovative consulting firm specialized in cities transportation issues. We provide our clients, both public and private, with solutions to support your strategic and operational decisions. [Learn more](https://tellae.fr)
|
|
117
118
|
|
|
118
|
-
[<img src="https://tellae.
|
|
119
|
+
[<img src="https://webda.io/img/sponsors/tellae.svg" width="200">](https://tellae.fr)
|
package/lib/mongodb.service.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MemoryRepository, Store, StoreParameters } from "@webda/core";
|
|
1
|
+
import { MemoryRepository, SecretString, Store, StoreParameters } from "@webda/core";
|
|
2
2
|
import type { ModelClass, Repository } from "@webda/core";
|
|
3
3
|
import * as WebdaQL from "@webda/ql";
|
|
4
4
|
import { Collection, Db, DbOptions, Document, MongoClient } from "mongodb";
|
|
@@ -10,13 +10,18 @@ export declare class MongoParameters extends StoreParameters {
|
|
|
10
10
|
* Contains the URL to Mongo Server
|
|
11
11
|
*
|
|
12
12
|
* Will try to use WEBDA_MONGO_URL environment variable if not defined
|
|
13
|
+
*
|
|
14
|
+
* Can be encrypted with `webda config encrypt`
|
|
13
15
|
*/
|
|
14
|
-
mongoUrl?: string;
|
|
16
|
+
mongoUrl?: string | SecretString;
|
|
15
17
|
/**
|
|
16
18
|
* Additional options for Mongo connetion
|
|
17
19
|
*
|
|
18
20
|
* Should be typed with MongoClientOptions but not available due to bug in ts-json-schema-generator
|
|
19
21
|
* https://docs.mongodb.com/manual/reference/connection-string
|
|
22
|
+
*
|
|
23
|
+
* Can be encrypted with `webda config encrypt`
|
|
24
|
+
* @secret auth.password,tlsCertificateKeyFilePassword
|
|
20
25
|
*/
|
|
21
26
|
options?: any;
|
|
22
27
|
/**
|
|
@@ -70,9 +75,17 @@ export declare class MongoRepository<T extends ModelClass> extends MemoryReposit
|
|
|
70
75
|
* Convert an object to the document stored in MongoDB
|
|
71
76
|
* @param item - the model instance or raw data
|
|
72
77
|
* @param key - the primary key
|
|
78
|
+
* @param fallbackType - the type to stamp when the object declares none (null: none)
|
|
73
79
|
* @returns the document
|
|
74
80
|
*/
|
|
75
|
-
protected toDocument(item: any, key: string): any;
|
|
81
|
+
protected toDocument(item: any, key: string, fallbackType?: string | undefined): any;
|
|
82
|
+
/**
|
|
83
|
+
* The type an object written by the application declares: the `__type` its document was read with
|
|
84
|
+
* (non-enumerable, set by {@link fromDocument}), else the identifier of its class. Plain data declares none.
|
|
85
|
+
* @param item - the object
|
|
86
|
+
* @returns the model identifier, undefined for plain data
|
|
87
|
+
*/
|
|
88
|
+
protected declaredType(item: any): string | undefined;
|
|
76
89
|
/**
|
|
77
90
|
* Convert a stored document into a model instance
|
|
78
91
|
* @param doc - the MongoDB document
|
|
@@ -114,11 +127,47 @@ export declare class MongoRepository<T extends ModelClass> extends MemoryReposit
|
|
|
114
127
|
* @returns the class filter or undefined if the model has no metadata
|
|
115
128
|
*/
|
|
116
129
|
protected getClassFilter(): any;
|
|
130
|
+
/**
|
|
131
|
+
* Translate a WebdaQL filter to a MongoDB filter restricted to this model
|
|
132
|
+
* @param expression - the WebdaQL expression
|
|
133
|
+
* @returns the MongoDB filter
|
|
134
|
+
*/
|
|
135
|
+
protected buildFilter(expression: WebdaQL.Expression): any;
|
|
136
|
+
/**
|
|
137
|
+
* Translate an aggregation to a MongoDB pipeline
|
|
138
|
+
*
|
|
139
|
+
* Group keys live in `_id.gN` and are flattened by executeAggregation, since MongoDB
|
|
140
|
+
* cannot project dotted output names. The query is validated again first: paths and aliases become
|
|
141
|
+
* field references and output names.
|
|
142
|
+
* @param query - the aggregation
|
|
143
|
+
* @returns the pipeline
|
|
144
|
+
*/
|
|
145
|
+
buildAggregationPipeline(query: WebdaQL.AggregationQuery): any[];
|
|
146
|
+
/** @override — MongoDB aggregation pipeline */
|
|
147
|
+
protected executeAggregation(query: WebdaQL.AggregationQuery): Promise<WebdaQL.AggregationResult<any>>;
|
|
117
148
|
/** @override — translate the WebdaQL query to a MongoDB find */
|
|
118
149
|
query(query: string | any): Promise<{
|
|
119
150
|
results: InstanceType<T>[];
|
|
120
151
|
continuationToken?: string;
|
|
121
152
|
}>;
|
|
153
|
+
/**
|
|
154
|
+
* MongoDB filter of the objects a statement targets: its WHERE and the class filter, restricted to the first
|
|
155
|
+
* LIMIT documents when the statement has a LIMIT (MongoDB bulk writes have none)
|
|
156
|
+
* @param statement - the parsed statement
|
|
157
|
+
* @returns the filter, undefined when LIMIT is 0
|
|
158
|
+
*/
|
|
159
|
+
protected getStatementFilter(statement: WebdaQL.Query): Promise<any | undefined>;
|
|
160
|
+
/**
|
|
161
|
+
* Delete in bulk with one `deleteMany`: no per-object event (see `Repository.deleteMany`)
|
|
162
|
+
* @override
|
|
163
|
+
*/
|
|
164
|
+
deleteMany(statement: string | WebdaQL.Query, params?: WebdaQL.QueryParameters): Promise<number>;
|
|
165
|
+
/**
|
|
166
|
+
* Update in bulk with one `updateMany` and `$set` (dotted targets create their parents): no per-object event
|
|
167
|
+
* (see `Repository.updateMany`)
|
|
168
|
+
* @override
|
|
169
|
+
*/
|
|
170
|
+
updateMany(statement: string | WebdaQL.Query, params?: WebdaQL.QueryParameters): Promise<number>;
|
|
122
171
|
/**
|
|
123
172
|
* Name of the underlying collection, used in errors
|
|
124
173
|
* @returns the collection name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongodb.service.d.ts","sourceRoot":"","sources":["../src/mongodb.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,gBAAgB,EAChB,KAAK,EAEL,eAAe,EAGhB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3E;;GAEG;AACH,qBAAa,eAAgB,SAAQ,eAAe;IAClD
|
|
1
|
+
{"version":3,"file":"mongodb.service.d.ts","sourceRoot":"","sources":["../src/mongodb.service.ts"],"names":[],"mappings":"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"}
|
package/lib/mongodb.service.js
CHANGED
|
@@ -32,7 +32,7 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
|
|
|
32
32
|
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
33
33
|
done = true;
|
|
34
34
|
};
|
|
35
|
-
import { EventRepository, InstanceCache, MemoryRepository, Store, StoreNotFoundError, StoreParameters, UpdateConditionFailError, useModelMetadata } from "@webda/core";
|
|
35
|
+
import { EventRepository, InstanceCache, MemoryRepository, SecretString, Store, StoreNotFoundError, StoreParameters, UpdateConditionFailError, useModelMetadata } from "@webda/core";
|
|
36
36
|
import * as WebdaQL from "@webda/ql";
|
|
37
37
|
import { MongoClient } from "mongodb";
|
|
38
38
|
/**
|
|
@@ -92,9 +92,10 @@ export function mapExpression(expression) {
|
|
|
92
92
|
const attribute = expression.attribute.join(".");
|
|
93
93
|
switch (expression.operator) {
|
|
94
94
|
case "=":
|
|
95
|
-
case "CONTAINS":
|
|
96
|
-
// MongoDB use same syntax for exact match or contains for an array
|
|
97
95
|
return { [attribute]: expression.value };
|
|
96
|
+
case "CONTAINS":
|
|
97
|
+
// Only an array holding the value (a plain `{a: v}` would also match a scalar equal to v)
|
|
98
|
+
return { [attribute]: { $elemMatch: { $eq: expression.value } } };
|
|
98
99
|
case "<":
|
|
99
100
|
return { [attribute]: { $lt: expression.value } };
|
|
100
101
|
case ">":
|
|
@@ -142,17 +143,37 @@ export class MongoRepository extends MemoryRepository {
|
|
|
142
143
|
* Convert an object to the document stored in MongoDB
|
|
143
144
|
* @param item - the model instance or raw data
|
|
144
145
|
* @param key - the primary key
|
|
146
|
+
* @param fallbackType - the type to stamp when the object declares none (null: none)
|
|
145
147
|
* @returns the document
|
|
146
148
|
*/
|
|
147
|
-
toDocument(item, key) {
|
|
149
|
+
toDocument(item, key, fallbackType = this.model.Metadata?.Identifier) {
|
|
148
150
|
const doc = JSON.parse(JSON.stringify(item));
|
|
149
151
|
doc._id = key;
|
|
150
|
-
|
|
152
|
+
// An enumerable `__type` key of plain data is never trusted
|
|
153
|
+
delete doc.__type;
|
|
154
|
+
const type = this.declaredType(item) ?? fallbackType;
|
|
151
155
|
if (type) {
|
|
152
156
|
doc.__type = type;
|
|
153
157
|
}
|
|
154
158
|
return doc;
|
|
155
159
|
}
|
|
160
|
+
/**
|
|
161
|
+
* The type an object written by the application declares: the `__type` its document was read with
|
|
162
|
+
* (non-enumerable, set by {@link fromDocument}), else the identifier of its class. Plain data declares none.
|
|
163
|
+
* @param item - the object
|
|
164
|
+
* @returns the model identifier, undefined for plain data
|
|
165
|
+
*/
|
|
166
|
+
declaredType(item) {
|
|
167
|
+
if (!item || typeof item !== "object") {
|
|
168
|
+
return undefined;
|
|
169
|
+
}
|
|
170
|
+
const own = Object.getOwnPropertyDescriptor(item, "__type");
|
|
171
|
+
if (own && !own.enumerable && typeof own.value === "string") {
|
|
172
|
+
return own.value;
|
|
173
|
+
}
|
|
174
|
+
const clazz = Object.getPrototypeOf(item)?.constructor;
|
|
175
|
+
return clazz && clazz !== Object ? clazz.Metadata?.Identifier : undefined;
|
|
176
|
+
}
|
|
156
177
|
/**
|
|
157
178
|
* Convert a stored document into a model instance
|
|
158
179
|
* @param doc - the MongoDB document
|
|
@@ -220,7 +241,21 @@ export class MongoRepository extends MemoryRepository {
|
|
|
220
241
|
/** @override */
|
|
221
242
|
async update(data, conditionField, condition) {
|
|
222
243
|
const key = this.getPrimaryKey(data).toString();
|
|
223
|
-
const
|
|
244
|
+
const collection = await this.getCollection();
|
|
245
|
+
const filter = this.getFilter(key, conditionField, condition);
|
|
246
|
+
let res;
|
|
247
|
+
if (this.declaredType(data)) {
|
|
248
|
+
res = await collection.replaceOne(filter, this.toDocument(data, key));
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
// Plain data (ModelRef.update) keeps the stored type, in one atomic write: a write through a parent
|
|
252
|
+
// repository never re-types a subclass document. `$literal` keeps `$`-prefixed values as data.
|
|
253
|
+
res = await collection.updateOne(filter, [
|
|
254
|
+
{
|
|
255
|
+
$replaceWith: { $mergeObjects: [{ $literal: this.toDocument(data, key, null) }, { __type: "$__type" }] }
|
|
256
|
+
}
|
|
257
|
+
]);
|
|
258
|
+
}
|
|
224
259
|
if (res.matchedCount === 0) {
|
|
225
260
|
throw new UpdateConditionFailError(key, conditionField, condition);
|
|
226
261
|
}
|
|
@@ -352,9 +387,114 @@ export class MongoRepository extends MemoryRepository {
|
|
|
352
387
|
}
|
|
353
388
|
return { $or: [{ __type: { $in: ids } }, { __type: { $exists: false } }] };
|
|
354
389
|
}
|
|
390
|
+
/**
|
|
391
|
+
* Translate a WebdaQL filter to a MongoDB filter restricted to this model
|
|
392
|
+
* @param expression - the WebdaQL expression
|
|
393
|
+
* @returns the MongoDB filter
|
|
394
|
+
*/
|
|
395
|
+
buildFilter(expression) {
|
|
396
|
+
const filter = mapExpression(expression);
|
|
397
|
+
const classFilter = this.getClassFilter();
|
|
398
|
+
if (classFilter) {
|
|
399
|
+
return Object.keys(filter).length ? { $and: [classFilter, filter] } : classFilter;
|
|
400
|
+
}
|
|
401
|
+
return filter;
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* Translate an aggregation to a MongoDB pipeline
|
|
405
|
+
*
|
|
406
|
+
* Group keys live in `_id.gN` and are flattened by executeAggregation, since MongoDB
|
|
407
|
+
* cannot project dotted output names. The query is validated again first: paths and aliases become
|
|
408
|
+
* field references and output names.
|
|
409
|
+
* @param query - the aggregation
|
|
410
|
+
* @returns the pipeline
|
|
411
|
+
*/
|
|
412
|
+
buildAggregationPipeline(query) {
|
|
413
|
+
WebdaQL.validateAggregation(query);
|
|
414
|
+
const id = {};
|
|
415
|
+
const sortKeys = {};
|
|
416
|
+
query.groupBy.forEach((path, i) => {
|
|
417
|
+
// $ifNull: a missing field and an explicit null always share one group
|
|
418
|
+
id[`g${i}`] = { $ifNull: [`$${path}`, null] };
|
|
419
|
+
sortKeys[path] = `_id.g${i}`;
|
|
420
|
+
});
|
|
421
|
+
const group = { _id: query.groupBy.length ? id : null };
|
|
422
|
+
const sizes = {};
|
|
423
|
+
for (const [alias, metric] of Object.entries(query.metrics)) {
|
|
424
|
+
const field = `$${metric.field}`;
|
|
425
|
+
sortKeys[alias] = alias;
|
|
426
|
+
switch (metric.fn) {
|
|
427
|
+
case "COUNT":
|
|
428
|
+
group[alias] = metric.field
|
|
429
|
+
? { $sum: { $cond: [{ $ne: [{ $ifNull: [field, null] }, null] }, 1, 0] } }
|
|
430
|
+
: { $sum: 1 };
|
|
431
|
+
break;
|
|
432
|
+
case "COUNT_DISTINCT":
|
|
433
|
+
group[alias] = { $addToSet: field };
|
|
434
|
+
sizes[alias] = { $size: { $filter: { input: `$${alias}`, cond: { $ne: ["$$this", null] } } } };
|
|
435
|
+
break;
|
|
436
|
+
case "SUM":
|
|
437
|
+
group[alias] = { $sum: field };
|
|
438
|
+
break;
|
|
439
|
+
case "AVG":
|
|
440
|
+
group[alias] = { $avg: field };
|
|
441
|
+
break;
|
|
442
|
+
case "MIN":
|
|
443
|
+
group[alias] = { $min: field };
|
|
444
|
+
break;
|
|
445
|
+
case "MAX":
|
|
446
|
+
group[alias] = { $max: field };
|
|
447
|
+
break;
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
const pipeline = [{ $match: this.buildFilter(query.filter) }, { $group: group }];
|
|
451
|
+
if (Object.keys(sizes).length) {
|
|
452
|
+
pipeline.push({ $addFields: sizes });
|
|
453
|
+
}
|
|
454
|
+
const sort = {};
|
|
455
|
+
for (const order of query.orderBy ?? []) {
|
|
456
|
+
sort[sortKeys[order.key]] = order.direction === "ASC" ? 1 : -1;
|
|
457
|
+
}
|
|
458
|
+
if (!Object.keys(sort).length && query.groupBy.length) {
|
|
459
|
+
query.groupBy.forEach((_, i) => (sort[`_id.g${i}`] = 1));
|
|
460
|
+
}
|
|
461
|
+
if (Object.keys(sort).length) {
|
|
462
|
+
pipeline.push({ $sort: sort });
|
|
463
|
+
}
|
|
464
|
+
const limit = query.limit ?? (query.groupBy.length ? this.aggregationOptions.maxGroups + 1 : undefined);
|
|
465
|
+
if (limit) {
|
|
466
|
+
pipeline.push({ $limit: limit });
|
|
467
|
+
}
|
|
468
|
+
return pipeline;
|
|
469
|
+
}
|
|
470
|
+
/** @override — MongoDB aggregation pipeline */
|
|
471
|
+
async executeAggregation(query) {
|
|
472
|
+
const docs = await (await this.getCollection())
|
|
473
|
+
.aggregate(this.buildAggregationPipeline(query), { allowDiskUse: true })
|
|
474
|
+
.toArray();
|
|
475
|
+
if (query.limit === undefined && docs.length > this.aggregationOptions.maxGroups) {
|
|
476
|
+
throw new WebdaQL.AggregationError("AGGREGATION_TOO_MANY_GROUPS", `Aggregation exceeds ${this.aggregationOptions.maxGroups} groups`);
|
|
477
|
+
}
|
|
478
|
+
const rows = docs.map(doc => {
|
|
479
|
+
const row = {};
|
|
480
|
+
query.groupBy.forEach((path, i) => (row[path] = doc._id?.[`g${i}`] ?? null));
|
|
481
|
+
for (const [alias, metric] of Object.entries(query.metrics)) {
|
|
482
|
+
row[alias] = doc[alias] ?? (metric.fn === "SUM" || metric.fn.startsWith("COUNT") ? 0 : null);
|
|
483
|
+
}
|
|
484
|
+
return row;
|
|
485
|
+
});
|
|
486
|
+
if (!rows.length && !query.groupBy.length) {
|
|
487
|
+
// MongoDB returns no document for an empty global aggregation, SQL and the spec return one row
|
|
488
|
+
return { rows: new WebdaQL.Aggregator(query).rows(), native: true };
|
|
489
|
+
}
|
|
490
|
+
return { rows, native: true };
|
|
491
|
+
}
|
|
355
492
|
/** @override — translate the WebdaQL query to a MongoDB find */
|
|
356
493
|
async query(query) {
|
|
357
|
-
|
|
494
|
+
// A query object built or changed by code goes back through the grammar: no forged operator reaches MongoDB
|
|
495
|
+
const parsed = typeof query === "string" ? WebdaQL.parse(query) : WebdaQL.normalizeQuery(query);
|
|
496
|
+
// DELETE / UPDATE go to deleteMany / updateMany; a field list is not a projection here
|
|
497
|
+
WebdaQL.assertFilterQuery(parsed);
|
|
358
498
|
let offset = parseInt(parsed.continuationToken);
|
|
359
499
|
if (isNaN(offset)) {
|
|
360
500
|
offset = 0;
|
|
@@ -364,11 +504,7 @@ export class MongoRepository extends MemoryRepository {
|
|
|
364
504
|
sort[order.field] = order.direction === "ASC" ? 1 : -1;
|
|
365
505
|
}
|
|
366
506
|
const limit = parsed.limit || 1000;
|
|
367
|
-
|
|
368
|
-
const classFilter = this.getClassFilter();
|
|
369
|
-
if (classFilter) {
|
|
370
|
-
filter = Object.keys(filter).length ? { $and: [classFilter, filter] } : classFilter;
|
|
371
|
-
}
|
|
507
|
+
const filter = this.buildFilter(parsed.filter);
|
|
372
508
|
const docs = await (await this.getCollection()).find(filter).sort(sort).skip(offset).limit(limit).toArray();
|
|
373
509
|
const results = docs.map(doc => this.fromDocument(doc));
|
|
374
510
|
return {
|
|
@@ -376,6 +512,55 @@ export class MongoRepository extends MemoryRepository {
|
|
|
376
512
|
continuationToken: results.length >= limit ? (offset + limit).toString() : undefined
|
|
377
513
|
};
|
|
378
514
|
}
|
|
515
|
+
/**
|
|
516
|
+
* MongoDB filter of the objects a statement targets: its WHERE and the class filter, restricted to the first
|
|
517
|
+
* LIMIT documents when the statement has a LIMIT (MongoDB bulk writes have none)
|
|
518
|
+
* @param statement - the parsed statement
|
|
519
|
+
* @returns the filter, undefined when LIMIT is 0
|
|
520
|
+
*/
|
|
521
|
+
async getStatementFilter(statement) {
|
|
522
|
+
const filter = this.buildFilter(statement.filter);
|
|
523
|
+
if (statement.limit === undefined) {
|
|
524
|
+
return filter;
|
|
525
|
+
}
|
|
526
|
+
if (statement.limit <= 0) {
|
|
527
|
+
return undefined;
|
|
528
|
+
}
|
|
529
|
+
// Collect the keys first: the update cannot meet an object twice, and LIMIT is honoured
|
|
530
|
+
const ids = (await (await this.getCollection())
|
|
531
|
+
.find(filter, { projection: { _id: 1 } })
|
|
532
|
+
.limit(statement.limit)
|
|
533
|
+
.toArray()).map(doc => doc._id);
|
|
534
|
+
// The WHERE is kept: a document that stopped matching since the find is left alone
|
|
535
|
+
return { $and: [filter, { _id: { $in: ids } }] };
|
|
536
|
+
}
|
|
537
|
+
/**
|
|
538
|
+
* Delete in bulk with one `deleteMany`: no per-object event (see `Repository.deleteMany`)
|
|
539
|
+
* @override
|
|
540
|
+
*/
|
|
541
|
+
async deleteMany(statement, params) {
|
|
542
|
+
const parsed = await this.parseStatement("DELETE", statement, params);
|
|
543
|
+
const filter = await this.getStatementFilter(parsed);
|
|
544
|
+
if (!filter)
|
|
545
|
+
return 0;
|
|
546
|
+
return (await (await this.getCollection()).deleteMany(filter)).deletedCount;
|
|
547
|
+
}
|
|
548
|
+
/**
|
|
549
|
+
* Update in bulk with one `updateMany` and `$set` (dotted targets create their parents): no per-object event
|
|
550
|
+
* (see `Repository.updateMany`)
|
|
551
|
+
* @override
|
|
552
|
+
*/
|
|
553
|
+
async updateMany(statement, params) {
|
|
554
|
+
const parsed = await this.parseStatement("UPDATE", statement, params);
|
|
555
|
+
const filter = await this.getStatementFilter(parsed);
|
|
556
|
+
if (!filter)
|
|
557
|
+
return 0;
|
|
558
|
+
const $set = {};
|
|
559
|
+
for (const { field, value } of parsed.assignments) {
|
|
560
|
+
$set[field] = value;
|
|
561
|
+
}
|
|
562
|
+
return (await (await this.getCollection()).updateMany(filter, { $set })).matchedCount;
|
|
563
|
+
}
|
|
379
564
|
/**
|
|
380
565
|
* Name of the underlying collection, used in errors
|
|
381
566
|
* @returns the collection name
|
|
@@ -411,7 +596,7 @@ let MongoStore = (() => {
|
|
|
411
596
|
*/
|
|
412
597
|
async _connect() {
|
|
413
598
|
this._connectPromise ?? (this._connectPromise = (async () => {
|
|
414
|
-
this._client = await new MongoClient(this.parameters.mongoUrl, this.parameters.options).connect();
|
|
599
|
+
this._client = await new MongoClient(SecretString.unwrap(this.parameters.mongoUrl), SecretString.unwrap(this.parameters.options)).connect();
|
|
415
600
|
this._db = this._client.db(this.parameters.database, this.parameters.databaseOptions);
|
|
416
601
|
this._collection = this._db.collection(this.parameters.collection);
|
|
417
602
|
return this._collection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongodb.service.js","sourceRoot":"","sources":["../src/mongodb.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mongodb.service.js","sourceRoot":"","sources":["../src/mongodb.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webda/mongo",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.7",
|
|
4
4
|
"description": "Implements Mongo DB on webda",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mongo",
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"typings": "lib/index.d.ts",
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"mongodb": "^7.1.1",
|
|
19
|
-
"@webda/
|
|
20
|
-
"@webda/
|
|
19
|
+
"@webda/ql": "4.0.0-beta.6",
|
|
20
|
+
"@webda/core": "4.0.0-beta.7"
|
|
21
21
|
},
|
|
22
22
|
"files": [
|
|
23
23
|
"lib",
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
"typescript": "7.1.0-dev.20260929.1",
|
|
41
41
|
"vite": "^6.0.0",
|
|
42
42
|
"vitest": "^4.1.2",
|
|
43
|
-
"@webda/
|
|
44
|
-
"@webda/
|
|
43
|
+
"@webda/test": "4.0.0-beta.6",
|
|
44
|
+
"@webda/compiler": "^4.0.0-beta.7"
|
|
45
45
|
},
|
|
46
46
|
"type": "module",
|
|
47
47
|
"engines": {
|
package/webda.module.json
CHANGED
|
@@ -252,6 +252,16 @@
|
|
|
252
252
|
},
|
|
253
253
|
"description": "MongoDB store parameters",
|
|
254
254
|
"properties": {
|
|
255
|
+
"aggregationFallback": {
|
|
256
|
+
"default": "warn",
|
|
257
|
+
"description": "What to do when an aggregation on this store cannot run natively and must\nstream every matching object through memory",
|
|
258
|
+
"enum": [
|
|
259
|
+
"allow",
|
|
260
|
+
"warn",
|
|
261
|
+
"deny"
|
|
262
|
+
],
|
|
263
|
+
"type": "string"
|
|
264
|
+
},
|
|
255
265
|
"collection": {
|
|
256
266
|
"description": "Which collection to use\n\nAll the models managed by the store share this collection, the `__type`\nfield is used to differentiate them",
|
|
257
267
|
"type": "string"
|
|
@@ -275,6 +285,12 @@
|
|
|
275
285
|
"description": "If set, Store will ignore the __type",
|
|
276
286
|
"type": "boolean"
|
|
277
287
|
},
|
|
288
|
+
"maxGroups": {
|
|
289
|
+
"default": 10000,
|
|
290
|
+
"description": "Maximum number of groups an aggregation may produce without LIMIT (or in memory)",
|
|
291
|
+
"minimum": 1,
|
|
292
|
+
"type": "number"
|
|
293
|
+
},
|
|
278
294
|
"modelAliases": {
|
|
279
295
|
"$ref": "#/definitions/modelAliases",
|
|
280
296
|
"description": "Model Aliases to allow easier rename of Model"
|
|
@@ -290,8 +306,9 @@
|
|
|
290
306
|
"type": "array"
|
|
291
307
|
},
|
|
292
308
|
"mongoUrl": {
|
|
293
|
-
"description": "Contains the URL to Mongo Server\n\nWill try to use WEBDA_MONGO_URL environment variable if not defined",
|
|
294
|
-
"type": "string"
|
|
309
|
+
"description": "Contains the URL to Mongo Server\n\nWill try to use WEBDA_MONGO_URL environment variable if not defined\n\nCan be encrypted with `webda config encrypt`",
|
|
310
|
+
"type": "string",
|
|
311
|
+
"x-webda-secret": true
|
|
295
312
|
},
|
|
296
313
|
"noCache": {
|
|
297
314
|
"default": false,
|
|
@@ -299,7 +316,11 @@
|
|
|
299
316
|
"type": "boolean"
|
|
300
317
|
},
|
|
301
318
|
"options": {
|
|
302
|
-
"description": "Additional options for Mongo connetion\n\nShould be typed with MongoClientOptions but not available due to bug in ts-json-schema-generator\nhttps://docs.mongodb.com/manual/reference/connection-string"
|
|
319
|
+
"description": "Additional options for Mongo connetion\n\nShould be typed with MongoClientOptions but not available due to bug in ts-json-schema-generator\nhttps://docs.mongodb.com/manual/reference/connection-string\n\nCan be encrypted with `webda config encrypt`",
|
|
320
|
+
"x-webda-secret": [
|
|
321
|
+
"auth.password",
|
|
322
|
+
"tlsCertificateKeyFilePassword"
|
|
323
|
+
]
|
|
303
324
|
},
|
|
304
325
|
"slowQueryThreshold": {
|
|
305
326
|
"default": 30000,
|