import { Module, Global, DynamicModule } from '@nestjs/common'; import { MongooseModule, MongooseModuleOptions } from '@nestjs/mongoose'; @Global() @Module({}) export class MongoModule { static forRootAsync(options: { imports?: any[]; inject?: any[]; useFactory: (...args: any[]) => Promise | MongooseModuleOptions; }): DynamicModule { return { module: MongoModule, imports: [MongooseModule.forRootAsync(options)], exports: [MongooseModule], }; } }