猫鼬上下文中的参数“lModel”是什么?

时间:2021-02-15 16:33:05

标签: mongoose aws-lambda nestjs serverless-framework

我有一个使用 Mongoose 的 NestJs API,我正在尝试使用无服务器框架将其部署到 AWS Lambda。我在构建项目时遇到了“@hewmen/serverless-plugin-typescript”包的问题,​​所以我切换到了 serverless-webpack。

该项目使用 serverless-offline 在本地运行良好,但是当我将其部署到 AWS 时,由于此错误而无法启动:

<块引用>

错误:Nest 无法解析 lModel 的依赖关系 (数据库连接,?)。请确保参数 lModel 在 索引 [1] 在 MongooseModule 上下文中可用。

有人知道这是什么吗?我的项目中没有任何称为“lModel”的类型。也欢迎针对此类项目设置提供任何其他故障排除或日志记录提示。

这是我的 app.module.ts 文件,如果它提供了任何线索:

@Module({
  imports: [
    ConfigModule.forRoot(),
    MongooseModule.forRootAsync({
      imports: [ConfigModule],
      useFactory: async (configService: ConfigService) => ({
        uri: configService.get<string>('MONGODB_URI'),
        dbName: configService.get<string>('MONGODB_NAME'),
        useNewUrlParser: true,
        useFindAndModify: false,
        connectionFactory: (connection) => {
          connection.plugin((schema) => {
            schema.options.toJSON = {
              virtuals: true,
              versionKey: false,
              transform(doc, ret) {
                ret.id = ret._id;
                delete ret._id;
              },
            };
          });
          return connection;
        },
      }),
      inject: [ConfigService],
    }),
    TerminusModule,
  ],
  controllers: [AppController, HealthController],
  providers: [AppService, ConfigService],
})
export class AppModule {}

1 个答案:

答案 0 :(得分:0)

所以我认为“lModel”只是 webpack 最小化变量名称。

我有一个使用 MongooseModule.forFeatureAsync() 导入猫鼬模型的模块。我需要将模型类添加到该模块中的 providers 导出数组,然后将该模块导入到我调用 MongooseModule.forRootAsync() 的 app.module.ts 中。