var db = require('./mongo'); async function asyncForEach(array, callback) { for (let index = 0; index < array.length; index++) { await callback(array[index], index, array); } } async function toObjectId(model, fieldName){ var filter = {}; filter[fieldName] = {$type : 2}; var results = await model.find(filter); try { await asyncForEach(results, async function(d) { var oldId = d[fieldName]; var remFilter = {}; remFilter[fieldName] = oldId; await model.deleteOne(remFilter); console.log("Deleted!", oldId); Object.entries(d).forEach(async function([key, value]){ if ( key === "_doc") { await db.scenario.add(value); console.log("Saved new"); } }); //console.log("new doc", d); //await db.scenario.add(d); //await model.create(d); //console.log("SaVED"); }); } catch (e) { console.log("er", e); } } async function destroyStuff(){ var results = await Destroy.find({provId:{$type : 2}}); await asyncForEach(results, async function(d) { console.log("doc", d); var destroy = d._id; await Provision.updateOne({_id: d.provId}, {destroy: destroy}); d.provId = undefined; d.save(); }); } toObjectId(db.models.Scenario, "_id"); //toObjectId(Destroy, "userId", "user"); //destroyStuff();