57 lines
1.5 KiB
JavaScript
57 lines
1.5 KiB
JavaScript
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();
|
|
|