UNPKG

create-nest-template-malahimdev

Version:

Scaffolds a NestJS template with Swagger, global pipes, exception filters, MongoDB connection and response helpers.

43 lines (38 loc) 1.32 kB
import { Module, OnModuleInit } from '@nestjs/common'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { MongooseModule, InjectConnection } from '@nestjs/mongoose'; import { Connection } from 'mongoose'; @Module({ imports: [ ConfigModule.forRoot({ isGlobal: true }), MongooseModule.forRootAsync({ useFactory: (config: ConfigService) => ({ uri: config.get<string>('MONGO_URI') || 'mongodb://127.0.0.1:27017/mydb', }), inject: [ConfigService], }), ], controllers: [AppController], providers: [AppService], }) export class AppModule implements OnModuleInit { constructor(@InjectConnection() private readonly connection: Connection) {} async onModuleInit() { if (this.connection.readyState === 1) { console.log('✅ MongoDB already connected'); } else { console.log('⏳ MongoDB connecting... current state:', this.connection.readyState); } this.connection.on('connected', () => { console.log('✅ MongoDB connected'); }); this.connection.on('error', (err) => { console.error('❌ MongoDB connection error:', err); }); this.connection.on('disconnected', () => { console.warn('⚠️ MongoDB disconnected'); }); } }