Nest无法解析UserModel的依赖项(?)

当我尝试在MongooseModel上使用Users时,出现以下错误

  

嵌套无法解析UserModel(?)的依赖项。请确定   在索引[0]处的参数DatabaseConnection可用于   MongooseModule上下文。

/src/database/database.module.ts

import { Module } from '@nestjs/common';
import { databaseProviders } from './database.providers';
import { ConfigModule } from '../config/config.module';

@Module({
  imports: [ConfigModule],providers: [...databaseProviders],exports: [...databaseProviders],})
export class DatabaseModule {}

/src/database/database.provider.ts

// NPM Packages
import * as mongoose from 'mongoose';
import { Provider } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';

// Custom Packages
import { ConfigService } from '../config/config.service';

export const databaseProviders: Provider[] = [
  {
    inject: [ConfigService],provide: 'DATABASE_CONNECTION',useFactory: async (
      configService: ConfigService,): Promise<typeof mongoose> =>
      await mongoose.connect(configService.get('MONGODB_URI'),{
        useNewUrlParser: true,useUnifiedTopology: true,useCreateIndex: true,useFindAndmodify: false,}),},];

/src/app.module.ts

// Core Packages
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';

// NPM Packages

// Custom Packages
import { ConfigModule } from './config/config.module';
import { DatabaseModule } from './database/database.module';
import { AuthModule } from './auth/auth.module';
import { UsersModule } from './users/users.module';

@Module({
  imports: [ConfigModule,DatabaseModule,AuthModule,UsersModule],controllers: [AppController],providers: [AppService],})
export class AppModule {}

/src/auth/auth.module.ts

// Core Packages
import { Module } from '@nestjs/common';

// NPM Packages
import { PassportModule } from '@nestjs/passport';
import { JwtModule } from '@nestjs/jwt';

// Custom Packages
import { AuthService } from './auth.service';
import { LocalStrategy } from './local.strategy';
import { JwtStrategy } from './jwt.strategy';
import { UsersModule } from '../users/users.module';
import { jwtConstants } from './constants';
import { AuthController } from './auth.controller';
import { ConfigService } from 'src/config/config.service';
import { ConfigModule } from 'src/config/config.module';
import { DatabaseModule } from 'src/database/database.module';

@Module({
  imports: [
    ConfigModule,UsersModule,PassportModule,JwtModule.registerAsync({
      imports: [ConfigModule],useFactory: async (configService: ConfigService) => ({
        secret: configService.get('JWT_SECRET'),signOptions: { expiresIn: configService.get('JWT_EXPIRE') },inject: [ConfigService],],providers: [AuthService,LocalStrategy,JwtStrategy],exports: [AuthService],controllers: [AuthController],})
export class AuthModule {}

/src/users/user.module.ts

// Core Packages
import { Module } from '@nestjs/common';

// NPM Packages
import { MongooseModule } from '@nestjs/mongoose';

// Custom Packages
import { UsersService } from './users.service';
import { UsersController } from './users.controller';
import { UserSchema } from './schemas/user.schema';
import { DatabaseModule } from 'src/database/database.module';

@Module({
  providers: [UsersService],exports: [UsersService],controllers: [UsersController],imports: [
    DatabaseModule,MongooseModule.forFeature([{ name: 'User',schema: UserSchema }]),})
export class UsersModule {}
qiangjinding 回答:Nest无法解析UserModel的依赖项(?)

您应该使用database.provider.ts导入来代替在MongooseModule.forRootAsync中静态配置猫鼬:

MongooseModule.forRootAsync({
  imports: [ConfigModule],useFactory: async (configService: ConfigService) => ({
    uri: configService.getString('MONGODB_URI'),useNewUrlParser: true,useUnifiedTopology: true,useCreateIndex: true,useFindAndModify: false,}),inject: [ConfigService],});
本文链接:https://www.f2er.com/3087926.html

大家都在问