sotlas-api/tools/updateSotatrails.js

42 wiersze
1.0 KiB
JavaScript

const axios = require('axios');
const MongoClient = require('mongodb').MongoClient;
const config = require('../config');
const assert = require('assert');
const client = new MongoClient(config.mongodb.url, {useUnifiedTopology: true});
client.connect(function (err) {
assert.equal(null, err);
updateSotatrails(client.db(config.mongodb.dbName));
});
function updateSotatrails(db) {
axios.get(config.sotatrailsUrl)
.then(response => {
let bulkWrites = [];
response.data.forEach(report => {
let summitCode = report.association + '/' + report.region + '-' + report.code;
bulkWrites.push({updateOne: {
filter: {code: summitCode},
update: { $set: {
'resources.sotatrails': {
url: report.url,
details: report.details === 'true'
}
}},
upsert: false
}});
});
db.collection('summits').bulkWrite(bulkWrites, (err, r) => {
if (err)
console.error(err);
client.close();
});
})
.catch(error => {
console.error(error);
client.close();
})
}