@chevre/domain
Version:
Chevre Domain Library for Node.js
47 lines (39 loc) • 1.54 kB
text/typescript
// 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);