AutoCatBackend/migration.js

27 lines
927 B
JavaScript

const MongoClient = require('mongodb').MongoClient;
const dotenv = require('dotenv');
const dotenvExpand = require('dotenv-expand');
let dotenvConf = dotenv.config();
dotenvExpand(dotenvConf);
async function addUpdatedDate() {
let client = await MongoClient.connect(process.env.MONGO_CONNECTION_STRING, { useUnifiedTopology: true });
let db = client.db('autocatdev');
let collection = db.collection('vehicles');
let vehicles = await collection.find().toArray();
for(let vehicle of vehicles) {
let updatedDate = vehicle.addedDate;
if(vehicle.events.length > 0) {
let lastEvent = vehicle.events.reduce((acc, cur) => acc.date > cur.date ? acc : cur);
updatedDate = Math.max(1000*lastEvent.date, vehicle.addedDate);
}
console.log(updatedDate);
await collection.updateOne({ _id: vehicle._id }, { $set: { updatedDate } });
}
}
(async () => {
await addUpdatedDate();
console.log('====== Done ======');
})();