nx-mongo 3.5.0 → 3.8.0
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 +222 -21
- package/dist/simpleMongoHelper.d.ts +79 -16
- package/dist/simpleMongoHelper.d.ts.map +1 -1
- package/dist/simpleMongoHelper.js +279 -61
- package/dist/simpleMongoHelper.js.map +1 -1
- package/package.json +1 -1
- package/src/simpleMongoHelper.ts +347 -62
|
@@ -40,6 +40,11 @@ export interface HelperConfig {
|
|
|
40
40
|
uniqueIndexKeys?: string[];
|
|
41
41
|
provider?: string;
|
|
42
42
|
};
|
|
43
|
+
databases?: Array<{
|
|
44
|
+
ref: string;
|
|
45
|
+
type: string;
|
|
46
|
+
database: string;
|
|
47
|
+
}>;
|
|
43
48
|
}
|
|
44
49
|
export interface WriteByRefResult {
|
|
45
50
|
inserted: number;
|
|
@@ -75,6 +80,9 @@ export interface StageRecord extends StageIdentity {
|
|
|
75
80
|
}
|
|
76
81
|
export type ProgressSessionOptions = {
|
|
77
82
|
session?: ClientSession;
|
|
83
|
+
database?: string;
|
|
84
|
+
ref?: string;
|
|
85
|
+
type?: string;
|
|
78
86
|
};
|
|
79
87
|
export interface ProgressAPI {
|
|
80
88
|
isCompleted(key: string, options?: ProgressSessionOptions & {
|
|
@@ -101,6 +109,9 @@ export interface ProgressAPI {
|
|
|
101
109
|
export interface WriteStageOptions {
|
|
102
110
|
ensureIndex?: boolean;
|
|
103
111
|
session?: ClientSession;
|
|
112
|
+
database?: string;
|
|
113
|
+
ref?: string;
|
|
114
|
+
type?: string;
|
|
104
115
|
complete?: {
|
|
105
116
|
key: string;
|
|
106
117
|
process?: string;
|
|
@@ -126,6 +137,9 @@ export interface MergeCollectionsOptions {
|
|
|
126
137
|
onUnmatched1?: 'include' | 'skip';
|
|
127
138
|
onUnmatched2?: 'include' | 'skip';
|
|
128
139
|
session?: ClientSession;
|
|
140
|
+
database?: string;
|
|
141
|
+
ref?: string;
|
|
142
|
+
type?: string;
|
|
129
143
|
}
|
|
130
144
|
export interface MergeCollectionsResult {
|
|
131
145
|
merged: number;
|
|
@@ -171,6 +185,8 @@ export declare class SimpleMongoHelper {
|
|
|
171
185
|
private retryOptions;
|
|
172
186
|
private config;
|
|
173
187
|
readonly progress: ProgressAPI;
|
|
188
|
+
private cleanupRegistered;
|
|
189
|
+
private isDisconnecting;
|
|
174
190
|
constructor(connectionString: string, retryOptions?: RetryOptions, config?: HelperConfig);
|
|
175
191
|
/**
|
|
176
192
|
* Sets or updates the configuration for ref-based operations.
|
|
@@ -205,7 +221,7 @@ export declare class SimpleMongoHelper {
|
|
|
205
221
|
* @returns Array of documents matching the query or paginated result
|
|
206
222
|
* @throws Error if not initialized or if query fails
|
|
207
223
|
*/
|
|
208
|
-
loadCollection<T extends Document = Document>(collectionName: string, query?: Filter<T>, options?: PaginationOptions): Promise<WithId<T>[] | PaginatedResult<T>>;
|
|
224
|
+
loadCollection<T extends Document = Document>(collectionName: string, query?: Filter<T>, options?: PaginationOptions, database?: string, ref?: string, type?: string): Promise<WithId<T>[] | PaginatedResult<T>>;
|
|
209
225
|
/**
|
|
210
226
|
* Finds a single document in a collection.
|
|
211
227
|
* @param collectionName - Name of the collection to query
|
|
@@ -217,7 +233,7 @@ export declare class SimpleMongoHelper {
|
|
|
217
233
|
findOne<T extends Document = Document>(collectionName: string, query: Filter<T>, options?: {
|
|
218
234
|
sort?: Sort;
|
|
219
235
|
projection?: Document;
|
|
220
|
-
}): Promise<WithId<T> | null>;
|
|
236
|
+
}, database?: string, ref?: string, type?: string): Promise<WithId<T> | null>;
|
|
221
237
|
/**
|
|
222
238
|
* Inserts data into a collection.
|
|
223
239
|
* @param collectionName - Name of the collection to insert into
|
|
@@ -228,7 +244,7 @@ export declare class SimpleMongoHelper {
|
|
|
228
244
|
*/
|
|
229
245
|
insert<T extends Document = Document>(collectionName: string, data: OptionalUnlessRequiredId<T> | OptionalUnlessRequiredId<T>[], options?: {
|
|
230
246
|
session?: ClientSession;
|
|
231
|
-
}): Promise<any>;
|
|
247
|
+
}, database?: string, ref?: string, type?: string): Promise<any>;
|
|
232
248
|
/**
|
|
233
249
|
* Updates records in a collection.
|
|
234
250
|
* @param collectionName - Name of the collection to update
|
|
@@ -242,7 +258,7 @@ export declare class SimpleMongoHelper {
|
|
|
242
258
|
upsert?: boolean;
|
|
243
259
|
multi?: boolean;
|
|
244
260
|
session?: ClientSession;
|
|
245
|
-
}): Promise<any>;
|
|
261
|
+
}, database?: string, ref?: string, type?: string): Promise<any>;
|
|
246
262
|
/**
|
|
247
263
|
* Deletes documents from a collection.
|
|
248
264
|
* @param collectionName - Name of the collection to delete from
|
|
@@ -253,7 +269,7 @@ export declare class SimpleMongoHelper {
|
|
|
253
269
|
*/
|
|
254
270
|
delete<T extends Document = Document>(collectionName: string, filter: Filter<T>, options?: {
|
|
255
271
|
multi?: boolean;
|
|
256
|
-
}): Promise<any>;
|
|
272
|
+
}, database?: string, ref?: string, type?: string): Promise<any>;
|
|
257
273
|
/**
|
|
258
274
|
* Counts documents in a collection matching a query.
|
|
259
275
|
* @param collectionName - Name of the collection to count
|
|
@@ -261,14 +277,14 @@ export declare class SimpleMongoHelper {
|
|
|
261
277
|
* @returns Number of documents matching the query
|
|
262
278
|
* @throws Error if not initialized or if count fails
|
|
263
279
|
*/
|
|
264
|
-
countDocuments<T extends Document = Document>(collectionName: string, query?: Filter<T
|
|
280
|
+
countDocuments<T extends Document = Document>(collectionName: string, query?: Filter<T>, database?: string, ref?: string, type?: string): Promise<number>;
|
|
265
281
|
/**
|
|
266
282
|
* Gets an estimated document count for a collection (faster but less accurate).
|
|
267
283
|
* @param collectionName - Name of the collection to count
|
|
268
284
|
* @returns Estimated number of documents
|
|
269
285
|
* @throws Error if not initialized or if count fails
|
|
270
286
|
*/
|
|
271
|
-
estimatedDocumentCount(collectionName: string): Promise<number>;
|
|
287
|
+
estimatedDocumentCount(collectionName: string, database?: string, ref?: string, type?: string): Promise<number>;
|
|
272
288
|
/**
|
|
273
289
|
* Runs an aggregation pipeline on a collection.
|
|
274
290
|
* @param collectionName - Name of the collection to aggregate
|
|
@@ -276,7 +292,7 @@ export declare class SimpleMongoHelper {
|
|
|
276
292
|
* @returns Array of aggregated results
|
|
277
293
|
* @throws Error if not initialized or if aggregation fails
|
|
278
294
|
*/
|
|
279
|
-
aggregate<T extends Document = Document>(collectionName: string, pipeline: Document[]): Promise<T[]>;
|
|
295
|
+
aggregate<T extends Document = Document>(collectionName: string, pipeline: Document[], database?: string, ref?: string, type?: string): Promise<T[]>;
|
|
280
296
|
/**
|
|
281
297
|
* Creates an index on a collection.
|
|
282
298
|
* @param collectionName - Name of the collection
|
|
@@ -285,7 +301,7 @@ export declare class SimpleMongoHelper {
|
|
|
285
301
|
* @returns Index name
|
|
286
302
|
* @throws Error if not initialized or if index creation fails
|
|
287
303
|
*/
|
|
288
|
-
createIndex(collectionName: string, indexSpec: IndexSpecification, options?: CreateIndexesOptions): Promise<string>;
|
|
304
|
+
createIndex(collectionName: string, indexSpec: IndexSpecification, options?: CreateIndexesOptions, database?: string, ref?: string, type?: string): Promise<string>;
|
|
289
305
|
/**
|
|
290
306
|
* Drops an index from a collection.
|
|
291
307
|
* @param collectionName - Name of the collection
|
|
@@ -293,14 +309,14 @@ export declare class SimpleMongoHelper {
|
|
|
293
309
|
* @returns Result object
|
|
294
310
|
* @throws Error if not initialized or if index drop fails
|
|
295
311
|
*/
|
|
296
|
-
dropIndex(collectionName: string, indexName: string): Promise<any>;
|
|
312
|
+
dropIndex(collectionName: string, indexName: string, database?: string, ref?: string, type?: string): Promise<any>;
|
|
297
313
|
/**
|
|
298
314
|
* Lists all indexes on a collection.
|
|
299
315
|
* @param collectionName - Name of the collection
|
|
300
316
|
* @returns Array of index information
|
|
301
317
|
* @throws Error if not initialized or if listing fails
|
|
302
318
|
*/
|
|
303
|
-
listIndexes(collectionName: string): Promise<Document[]>;
|
|
319
|
+
listIndexes(collectionName: string, database?: string, ref?: string, type?: string): Promise<Document[]>;
|
|
304
320
|
/**
|
|
305
321
|
* Starts a new client session for transactions.
|
|
306
322
|
* @returns Client session
|
|
@@ -323,6 +339,9 @@ export declare class SimpleMongoHelper {
|
|
|
323
339
|
*/
|
|
324
340
|
loadByRef<T extends Document = Document>(ref: string, options?: PaginationOptions & {
|
|
325
341
|
session?: ClientSession;
|
|
342
|
+
database?: string;
|
|
343
|
+
ref?: string;
|
|
344
|
+
type?: string;
|
|
326
345
|
}): Promise<WithId<T>[] | PaginatedResult<T>>;
|
|
327
346
|
/**
|
|
328
347
|
* Ensures a unique index exists on the _sig field for signature-based deduplication.
|
|
@@ -336,6 +355,9 @@ export declare class SimpleMongoHelper {
|
|
|
336
355
|
ensureSignatureIndex(collectionName: string, options?: {
|
|
337
356
|
fieldName?: string;
|
|
338
357
|
unique?: boolean;
|
|
358
|
+
database?: string;
|
|
359
|
+
ref?: string;
|
|
360
|
+
type?: string;
|
|
339
361
|
}): Promise<EnsureSignatureIndexResult>;
|
|
340
362
|
/**
|
|
341
363
|
* Writes documents to a collection using a ref name from the configuration.
|
|
@@ -351,6 +373,9 @@ export declare class SimpleMongoHelper {
|
|
|
351
373
|
writeByRef(ref: string, documents: any[], options?: {
|
|
352
374
|
session?: ClientSession;
|
|
353
375
|
ensureIndex?: boolean;
|
|
376
|
+
database?: string;
|
|
377
|
+
ref?: string;
|
|
378
|
+
type?: string;
|
|
354
379
|
}): Promise<WriteByRefResult>;
|
|
355
380
|
/**
|
|
356
381
|
* Writes documents to a collection using a ref name and optionally marks a stage as complete.
|
|
@@ -373,9 +398,17 @@ export declare class SimpleMongoHelper {
|
|
|
373
398
|
* @throws Error if not initialized or if merge fails
|
|
374
399
|
*/
|
|
375
400
|
mergeCollections(options: MergeCollectionsOptions): Promise<MergeCollectionsResult>;
|
|
401
|
+
/**
|
|
402
|
+
* Registers automatic cleanup handlers for process exit events.
|
|
403
|
+
* This ensures connections are closed gracefully when the application terminates.
|
|
404
|
+
* Uses a global registry to handle multiple instances without conflicts.
|
|
405
|
+
* @internal
|
|
406
|
+
*/
|
|
407
|
+
private registerCleanup;
|
|
376
408
|
/**
|
|
377
409
|
* Closes the MongoDB connection and cleans up resources.
|
|
378
|
-
*
|
|
410
|
+
* This method is called automatically on process exit, but can also be called manually.
|
|
411
|
+
* @throws Error if disconnect fails (only when called manually, not during automatic cleanup)
|
|
379
412
|
*/
|
|
380
413
|
disconnect(): Promise<void>;
|
|
381
414
|
/**
|
|
@@ -390,10 +423,40 @@ export declare class SimpleMongoHelper {
|
|
|
390
423
|
*/
|
|
391
424
|
getDb(): Db;
|
|
392
425
|
/**
|
|
393
|
-
*
|
|
394
|
-
* @param connectionString - MongoDB connection string
|
|
395
|
-
* @returns
|
|
426
|
+
* Strips database name from MongoDB connection string, returning base connection string.
|
|
427
|
+
* @param connectionString - MongoDB connection string (may include database name)
|
|
428
|
+
* @returns Base connection string without database name
|
|
429
|
+
* @example
|
|
430
|
+
* stripDatabaseFromConnectionString('mongodb://localhost:27017/admin')
|
|
431
|
+
* // Returns: 'mongodb://localhost:27017/'
|
|
432
|
+
*/
|
|
433
|
+
private stripDatabaseFromConnectionString;
|
|
434
|
+
/**
|
|
435
|
+
* Resolves the database name from provided options using the databases config map.
|
|
436
|
+
* Priority: database > ref+type > ref > type
|
|
437
|
+
* @param options - Options containing database, ref, and/or type
|
|
438
|
+
* @returns Resolved database name or undefined (will default to 'admin')
|
|
439
|
+
* @throws Error if no match found or multiple matches found
|
|
440
|
+
* @internal
|
|
441
|
+
*/
|
|
442
|
+
private resolveDatabase;
|
|
443
|
+
/**
|
|
444
|
+
* Gets a database instance by name. Defaults to 'admin' if no name provided.
|
|
445
|
+
* @param databaseName - Optional database name (defaults to 'admin')
|
|
446
|
+
* @returns Database instance
|
|
447
|
+
* @throws Error if client is not initialized
|
|
448
|
+
* @internal
|
|
449
|
+
*/
|
|
450
|
+
private getDatabase;
|
|
451
|
+
/**
|
|
452
|
+
* Gets a database instance by name. Defaults to 'admin' if no name provided.
|
|
453
|
+
* Public method for use by ProgressAPIImpl.
|
|
454
|
+
* @param databaseName - Optional database name (defaults to 'admin')
|
|
455
|
+
* @param ref - Optional ref for database resolution
|
|
456
|
+
* @param type - Optional type for database resolution
|
|
457
|
+
* @returns Database instance
|
|
458
|
+
* @throws Error if client is not initialized
|
|
396
459
|
*/
|
|
397
|
-
|
|
460
|
+
getDatabaseByName(databaseName?: string, ref?: string, type?: string): Db;
|
|
398
461
|
}
|
|
399
462
|
//# sourceMappingURL=simpleMongoHelper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simpleMongoHelper.d.ts","sourceRoot":"","sources":["../src/simpleMongoHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,EAAE,EAAc,MAAM,EAAE,YAAY,EAAE,wBAAwB,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAGvL,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;KAC7B,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;
|
|
1
|
+
{"version":3,"file":"simpleMongoHelper.d.ts","sourceRoot":"","sources":["../src/simpleMongoHelper.ts"],"names":[],"mappings":"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"}
|