[英]Nest can't resolve dependencies of the JobsService (?). Please make sure that the argument JobModel at index [0] is available in the AppModule context
I'm really confused, I got this weird error and I have no idea.我真的很困惑,我得到了这个奇怪的错误,我不知道。
Error: Nest can't resolve dependencies of the JobsService (?).
错误:Nest 无法解析 JobsService (?) 的依赖关系。 Please make sure that the argument JobModel at index [0] is available in the AppModule context.
请确保索引 [0] 处的参数 JobModel 在 AppModule 上下文中可用。
app.module.ts app.module.ts
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { MongooseModule } from '@nestjs/mongoose';
import { JobsModule } from './jobs/jobs.module';
import { JobsService } from './jobs/jobs.service';
import { JobsController } from './jobs/jobs.controller';
import config from './config/config';
@Module({
imports: [JobsModule, MongooseModule.forRoot(config.mongoURI, {
useFindAndModify: false,
})],
controllers: [AppController, JobsController],
providers: [AppService, JobsService],
})
export class AppModule {}
/jobs/jobs.module.ts /jobs/jobs.module.ts
import { Module } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';
import { JobsService } from './jobs.service';
import { JobsController } from './jobs.controller';
import { JobsSchema } from './schemas/jobs.schema';
@Module({
imports: [MongooseModule.forFeature([{ name: 'Job', schema: JobsSchema }])],
controllers: [JobsController],
providers: [JobsService],
})
export class JobsModule {}
/job/job.controller.ts /job/job.controller.ts
import { Controller, Get, Post, Put, Delete, Body, Param } from '@nestjs/common';
import { JobsService } from './jobs.service';
import { IJobs } from './interfaces/jobs.interface';
@Controller('jobs')
export class JobsController {
constructor(private readonly jobsService: JobsService){}
@Get()
findAll():Promise<IJobs[]> {
return this.jobsService.findAll();
}
}
/job/jobs.service.ts /job/jobs.service.ts
import { Injectable } from '@nestjs/common';
import { InjectModel } from '@nestjs/mongoose';
import { Model } from 'mongoose';
import { IJobSchema } from './schemas/jobs.schema';
import { IJobs } from './interfaces/jobs.interface';
@Injectable()
export class JobsService {
constructor(@InjectModel('Job') private readonly JobsModel: Model<IJobSchema>){}
async findAll():Promise<IJobs[]> {
return await this.JobsModel.find();
}
}
you already declared JobsService in your JobModule, delete it from Appmodule providers您已经在 JobModule 中声明了 JobsService,请将其从 Appmodule 提供程序中删除
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { MongooseModule } from '@nestjs/mongoose';
import { JobsModule } from './jobs/jobs.module';
import { JobsService } from './jobs/jobs.service';
import { JobsController } from './jobs/jobs.controller';
import config from './config/config';
@Module({
imports: [JobsModule, MongooseModule.forRoot(config.mongoURI, {
useFindAndModify: false,
})],
controllers: [AppController, JobsController],
providers: [AppService], // Here..
})
export class AppModule {}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.