// tslint:disable:no-console import * as mongoose from 'mongoose'; import { chevre } from '../../../lib/index'; const project = { id: String(process.env.PROJECT_ID) }; async function main() { await mongoose.connect(process.env.MONGOLAB_URI); const eventRepo = new chevre.repository.Event(mongoose.connection); const cursor = eventRepo.getCursor( { 'project.id': { $eq: project.id }, typeOf: { $eq: chevre.factory.eventType.ScreeningEvent } }, { // _id: 1, } ); console.log('events found'); let i = 0; let updateCount = 0; await cursor.eachAsync(async (doc) => { i += 1; const event: chevre.factory.event.screeningEvent.IEvent = doc.toObject(); console.log('deleting event...', event.project.id, event.id, event.startDate, i); await eventRepo.deleteById({ id: event.id }); updateCount += 1; console.log('deleted', event.project.id, event.id, event.startDate, i); }); console.log(i, 'events checked'); console.log(updateCount, 'events updated'); } main() .then() .catch(console.error);