错误,Nest无法解析UsersService的依赖关系。Nest无法解析UsersService的依赖关系。

我得到了这样的错误。

错误:Nest无法解析UsersService的依赖关系(?Nest 无法解析 UsersService 的依赖关系(?)。请确保索引[0]处的参数Usersinterface在UsersModule上下文中是可用的。

潜在的解决方案:-如果Usersinterface是一个提供者,它是否是当前UsersModule的一部分?- 如果Usersinterface是从一个单独的@Module中导出的,那么该模块是否在UsersModule中导入?

 @Module({
imports: [ /* the Module containing Usersinterface */ ]
  })

我得到了很多关于这个问题的答案,但这些答案与我的问题几乎没有什么不同,在我的问题中,我得到的是接口的错误,而不是任何控制器或服务。

这里是Usersinterface的代码。

import * as mongoose from 'mongoose'

export interface Usersinterface  extends mongoose.Document {
    readonly username: string;
    readonly password: string;
}

这里是Usersmodule的代码。

@Module({
  imports:[],
  providers: [UsersService],
  controllers: [UsersController]
})
export class UsersModule {}

这里是appmodule的代码。

@Module({
  imports: [AppModule,UsersModule,MongooseModule.forRoot("mongodb://localhost:27017/test",{ useNewUrlParser: true })],
  controllers: [AppController],
  providers: [AppService]
})
export class AppModule {}

这里是UsersService的代码。

@Injectable()
export class UsersService {
    private hashLength = 16;
    constructor(@Inject('Usersinterface') private readonly userModel:Model<Usersinterface>) {}

解决方案:

正如我刚才在 你的另一个问题 您需要给模块提供正确的上下文,说明有哪些供应商可用。要做到这一点,您需要在模块中添加 MongooseMOdule.forFeature([schemaObject]) 对你的 UsersModule‘s imports 数组。最后,它应该是这样的。

@Module({
  imports: [MongooseModule.forFeautre([{ name: 'Usersinterface', schema: UsersSchema }]) // you need to create the UsersSchema,
  controllers: [UsersController],
  providers: [UsersService],
})
export class UsersModule {}
@Injectable()
export class UsersService {
  private hasLength = 16;
  // make sure this string matches the value in the MongooseModule.forFeature's name property
  constructor(@InjectModel('Usersinterface') private readonly userModel: Model<UsersInterface>) {}

本文来自投稿,不代表运维实战侠立场,如若转载,请注明出处:https://www.shizhanxia.com/820.html

(0)
上一篇 2022年6月29日 下午4:00
下一篇 2022年6月29日 下午4:00

相关推荐

发表评论

登录后才能评论