UNPKG

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

Version:
37 lines (36 loc) 1.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MigrationBulk = exports.DELETE_OPERATION = void 0; const AbstractBulkOperationResults_1 = require("./AbstractBulkOperationResults"); exports.DELETE_OPERATION = Symbol(); class MigrationBulk extends AbstractBulkOperationResults_1.AbstractBulkOperationResults { logExecutionStatus(executionResults) { this.logger.info(this.buildLogObject(executionResults), 'Documents migration is successful'); return this; } addUpdateOrRemoveOperation(updateQuery, objectId, arrayFilters) { if (updateQuery === exports.DELETE_OPERATION) { return this.addRemoveOperation(objectId); } return this.addUpdateOperation(updateQuery, objectId, arrayFilters); } addUpdateOperation(updateQuery, objectId, arrayFilters) { this.totalBulkOps++; if (arrayFilters.length === 0) { this.bulk.find({ _id: objectId }).update(updateQuery); } else { this.bulk .find({ _id: objectId }) .arrayFilters(arrayFilters) .update(updateQuery); } return this; } addRemoveOperation(objectId) { this.totalBulkOps++; this.bulk.find({ _id: objectId }).deleteOne(); return this; } } exports.MigrationBulk = MigrationBulk;