const { db, waitForDb } = require('../app/src/infrastructure/mongodb') async function updateStringDates() { await waitForDb() const users = await db.users.find({ splitTests: { $exists: true }, }) let user let count = 0 while ((user = await users.next())) { count += 1 if (count % 10000 === 0) { console.log(`processed ${count} users...`) } const splitTests = user.splitTests for (const splitTestKey of Object.keys(splitTests)) { for (const variantIndex in splitTests[splitTestKey]) { splitTests[splitTestKey][variantIndex].assignedAt = new Date( splitTests[splitTestKey][variantIndex].assignedAt ) } } await db.users.updateOne( { _id: user._id, }, { $set: { splitTests } } ) } console.log(`Updated ${count} assignedAt strings to dates!`) } if (!module.parent) { updateStringDates() .then(() => { process.exit(0) }) .catch(error => { console.error(error) process.exit(1) }) } module.exports = updateStringDates