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 ======'); })();