UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

62 lines (53 loc) 2.12 kB
// 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);