Skip to content

Instantly share code, notes, and snippets.

View j-coll's full-sized avatar

Jacobo Coll Moragón j-coll

  • Zetta Genomics
  • Cambridge, UK
View GitHub Profile
@j-coll
j-coll / migrateCollection.js
Last active June 16, 2017 15:25 — forked from pfurio/migrateCollection.js
Base migration script
function migrateCollectionDifferentCollection(inputCollection, outputCollection, query, projection, migrateFunc) {
var bulk = db.getCollection(outputCollection).initializeOrderedBulkOp();
var count = 0;
var bulkSize = 500;
db.getCollection(inputCollection).find(query,projection).forEach(function(doc) {
migrateFunc(bulk, doc);
if ( bulk.nUpdateOps + bulk.nInsertOps + bulk.nRemoveOps >= bulkSize ) {
count += bulk.nUpdateOps + bulk.nInsertOps + bulk.nRemoveOps;
print("Execute bulk! " + count);
bulk.execute();