| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- 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
|