console.time("Process"); var request = require("request"); var mongo = require("mongodb").MongoClient; var ObjectID = require("mongodb").ObjectID; var mongoUrl = "mongodb://localhost:3001/meteor"; var params = ["programme", "period", "year", "ects", "location", "department","faculty", "instructionLanguage", "courseType"]; var lang = ["da", "en"]; var sortCounter = 0; var getData = function (lang, param, sortCounter) { var url = "https://eddiprod.au.dk/EDDI/webservices/CourseCatalogService2.cfc?method=getValueList&list=" + param + "&lang=" + lang; request({url: url,json: true}, function (e, res, json) { var obj = {}; var arr = []; if (e){ throw e; } json.listItems.forEach(function (item) { arr.push({id: item.id, name: item[json.listName]}); }); if (param == "courseLanguage") { json.listName = "instructionLanguage" } obj["name"] = json.listName; obj["lang"] = lang; obj["list"] = arr; obj["sorting"] = sortCounter; if(json.listName == "year") obj["default"] = [2016, 2017]; else obj["default"] = []; mongo.connect(mongoUrl, function (err, db) { db.collection("filters").updateOne({name: obj.name, lang: obj.lang}, obj, {upsert: true}, function(err, res){ db.close(); }); }); }); }; lang.forEach(function (lang) { params.forEach(function (param) { getData(lang, param, sortCounter); sortCounter = sortCounter + 10; }); });