UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

47 lines (39 loc) 1.54 kB
// tslint:disable:no-console import * as moment from 'moment'; import * as mongoose from 'mongoose'; import { chevre } from '../../../lib/index'; const DAYS = 500; async function main() { await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false }); const now = new Date(); let updateResult: any; const transactionRepo = await chevre.repository.Transaction.createInstance(mongoose.connection); // tslint:disable-next-line:no-magic-numbers const hours = DAYS * 24; // tslint:disable-next-line:no-increment-decrement no-magic-numbers for (let index = 0; index < hours; index++) { updateResult = await transactionRepo.unsetUnnecessaryFields({ filter: { // _id: { $eq: '649a7654ff1c885bcc40bbb7' }, typeOf: { $eq: chevre.factory.transactionType.PlaceOrder }, status: { $eq: chevre.factory.transactionStatusType.Confirmed }, startDate: { $gte: moment(now) .add(-(index + 1), 'hours') .toDate(), $lt: moment(now) .add(-index, 'hours') .toDate() } }, $unset: { 'result.order.acceptedOffers': 1 } }); console.log('unset processed.', updateResult, -(index + 1), 'hours', -index, 'hours'); } console.log(DAYS, 'days processed'); } main() .then() .catch(console.error);