This repository has been archived on 2025-12-25. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
qmi-cloud/server/fix.js
2020-05-04 11:08:13 +02:00

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();