import http from 'http' import mongodb from 'mongodb' import connect from 'connect' import createDbFirstData from './createDbFirstData' import connectToDB from './db' let db: mongodb.Db connectToDB().then((database) => { db = database createDbFirstData(db) }) function getDB() { return db } export default async function ( req: connect.IncomingMessage, __: http.ServerResponse, next: connect.NextFunction ) { if (!db) { db = await connectToDB() } Object.defineProperty(req, 'db', { configurable: true, enumerable: true, get: getDB, }) next() }