kopia lustrzana https://github.com/manuelkasper/sotlas-api
42 wiersze
1.0 KiB
JavaScript
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();
|
|
})
|
|
}
|