@360-l/mongo-bulk-data-migration
Version:
MongoDB bulk data migration for node scripts
37 lines (36 loc) • 1.38 kB
JavaScript
;
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;