我有一个使用 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 {}
答案 0 :(得分:0)
所以我认为“lModel”只是 webpack 最小化变量名称。
我有一个使用 MongooseModule.forFeatureAsync()
导入猫鼬模型的模块。我需要将模型类添加到该模块中的 providers 导出数组,然后将该模块导入到我调用 MongooseModule.forRootAsync()
的 app.module.ts 中。