javascript - babel 中嵌套的依赖注入,尤其是 mongoose
问题描述
我正在遵循 NestJs 关于 Mongoose 的指南,但使用 Babel 时,我在尝试注入我的模式时遇到了错误。代码非常简单,与打字稿示例相同,但带有 babel。
这是我的主要模块
import { Module } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';
import { EventModule } from './events/event-module';
@Module({
imports: [
MongooseModule.forRoot(process.env.MONGO_URI),
EventModule,
],
})
export class AppModule {}
这是最简单的模式示例
import { Schema } from 'mongoose';
export const EventSchema = new Schema({
title: String,
description: Number,
});
模块事件模块:
import { Module } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';
import { EventController } from "./event-controller";
import { EventService } from "./event-service";
import { EventSchema } from '../schemas/event-schema';
@Module({
imports: [
MongooseModule.forFeature([
{ name: 'Event', schema: EventSchema }
])
],
controllers: [EventController],
providers: [
EventService,
],
})
export class EventModule {}
最后,我希望使用架构的服务:
import { Injectable } from '@nestjs/common';
import { InjectModel } from '@nestjs/mongoose';
import { EventSchema } from '../schemas/event-schema';
@Injectable()
export class EventService {
@InjectModel(EventSchema) eventModel;
async getAll() {
return await this.eventModel.find().exec();
}
}
问题是当我getAll
从控制器调用时,结果eventModel
是未定义的!实例化时不会引发错误。抛出的错误是:
TypeError: Cannot read property 'find' of undefined
at EventService._callee$ (D:\.../event-service.js:9:34)
at tryCatch (D:\...\node_modules\babel-polyfill\node_modules\regenerator-runtime\runtime.js:65:40)
是否有可能在 babel 中,依赖注入的工作方式不同nestjs
?InjectModel
应该如何工作或如何与 babel 一起使用?
非常感谢您,任何建议或提示都非常感谢和接受
问候
解决方案
有一个错误:
import { Injectable } from '@nestjs/common';
import { InjectModel } from '@nestjs/mongoose';
import { EventSchema } from '../schemas/event-schema';
@Injectable()
export class EventService {
@InjectModel(EventSchema) eventModel;
async getAll() {
return await this.eventModel.find().exec();
}
}
这条线
@InjectModel(EventSchema) eventModel;
应该@InjectModel('Event') eventModel
推荐阅读
- java - 我如何设置 setCapability testName 成为黄瓜场景
- vue.js - 如何为子文件夹构建 vue.js
- debugging - VS Code 调试器显示无限深的 PyTorch 张量
- python - 如何在二叉树中列出一个人的所有表亲
- java - 将 html 页面更改为 .png
- java - 如何使用 google ml api 修复无效范围(400 错误请求)
- rest - 单击按钮时刷新 amp-list 内容
- ios - iOS 13.1 PDFKit PDFView.go(to page:) 不工作
- node.js - 在前端显示 pdf blob 字符串作为预览
- javascript - 具有多个动态字段的文本框或文本区域