UNPKG

@360-l/mongo-bulk-data-migration

Version:
36 lines (35 loc) 1.35 kB
import type { BulkOperationResult } from './lib/AbstractBulkOperationResults'; import type { DataMigrationConfig, LoggerInterface, MigrationInfos, RollbackableUpdate } from './types'; import type { Collection, Document } from 'mongodb'; export declare const DELETE_COLLECTION: unique symbol; export default class MongoBulkDataMigration<TSchema extends Document> implements RollbackableUpdate { private readonly options; private readonly collectionName; private readonly id; private readonly migrationInfos; private logger; constructor(config: DataMigrationConfig<TSchema>); setLogger(logger: LoggerInterface): void; getInfos(): { id: string; migrationInfos: MigrationInfos<TSchema>; collection: Collection<TSchema>; collectionName: string; }; private getRollbackCollection; private getRollbackCollectionName; private getCollection; update(): Promise<BulkOperationResult>; private getCursorAndCount; private buildBulkUpdater; private buildBackupDocument; private throttle; rollback(): Promise<BulkOperationResult>; private getRollbackUpdateQuery; private lowerValidationLevel; private restoreValidationLevel; private canUpdateValidation; private setValidationLevel; private renameCollection; clean(): Promise<void>; }