【问题标题】:Not able to run application usuing MongooseModule.forFeature() in NestJs无法在 NestJs 中使用 MongooseModule.forFeature() 运行应用程序
【发布时间】:2020-03-07 11:09:33
【问题描述】:

我在我的代码中使用了以下 sn-p,但它给出了编译时错误,说 Nest 无法解析 xModel (?) 的依赖关系。请确保索引 [0] 处的参数在 MongooseModule 上下文中可用。 :(

模块

@Module({
  imports: [MongooseModule.forFeature([{ name: 'X', schema: XSchema }], 'MyMongooseConnection')],
  controllers: [XController],
  providers: [XService],
  exports: [
    XService,],
})
export class XModule { }

服务

@Injectable()
export class XService {
  constructor(@InjectModel('X') private  xModel: Model<IXFace>) {}
}

x.schema.ts

export const XSchema = new mongoose.Schema({

  XName: { type: String },
});

请注意,如果我从 forFeature 参数中删除“MyMongooseConnection”,它可以正常工作。有关信息,我想在应用程序中创建多个连接,并希望将架构与特定连接联系起来。

【问题讨论】:

    标签: mongoose nestjs


    【解决方案1】:

    在您的 @InjectModel() 中,您应该执行 modelName, connectionName 以便您的构造函数看起来像

    constructor(@InjectModel('X', 'MyMongooseConnection') private readonly xModel: Model<IXFace>) {}
    

    【讨论】:

    • 果然,我认为它类似于 Nest 的 TypeORM 装饰器。看起来目前命名数据库并不是真正的选择。也许应该在 NestJS 的 mongoose github 上提出一个问题。实现类似 Nest 的 TypeORM 的实现应该不会太难。
    猜你喜欢
    • 2022-06-18
    • 2021-03-13
    • 2021-09-13
    • 2021-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-07
    相关资源
    最近更新 更多