@chevre/domain
Version:
Chevre Domain Library for Node.js
62 lines (53 loc) • 2.12 kB
text/typescript
// tslint:disable:no-console
import * as mongoose from 'mongoose';
import { chevre } from '../../../../lib/index';
const PROJECT_ID = String(process.env.PROJECT_ID);
const SCREEN_CODE = '100';
const MOVIE_THEATER_CODE = '118';
const formatter = new Intl.NumberFormat('ja-JP');
// tslint:disable-next-line:max-func-body-length
async function main() {
let startTime: [number, number] = process.hrtime();
let diff: [number, number] = process.hrtime(startTime);
await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
const seatRepo = await chevre.repository.place.Seat.createInstance(mongoose.connection);
setInterval(
async () => {
startTime = process.hrtime();
const seats = <Pick<chevre.factory.place.seat.IPlace, 'branchCode'>[]>await seatRepo.projectSeatsByScreeningRoom({
limit: 100,
page: 100,
$projection: {
'containedInPlace.containedInPlace': 0,
'containedInPlace.typeOf': 0,
'containedInPlace.name': 0,
typeOf: 0,
additionalProperty: 0
},
project: { id: { $eq: PROJECT_ID } },
screeningRoom: {
branchCode: { $eq: SCREEN_CODE },
containedInPlace: { branchCode: { $eq: MOVIE_THEATER_CODE } }
}
// branchCode: { $in: ['Z-384'] },
// containedInPlace: {
// branchCode: {
// $in: ['Default']
// }
// }
});
diff = process.hrtime(startTime);
// tslint:disable-next-line:no-null-keyword
console.dir(seats, { depth: null });
console.log(seats.length, 'seats found');
console.log('diff:', [diff[0], formatter.format(diff[1])]);
},
// tslint:disable-next-line:no-magic-numbers
1000
);
}
main()
.then(() => {
console.log('success!');
})
.catch(console.error);