Я следую руководству NestJ о Mongoose, но с Бабелем я сталкиваюсь с ошибкой, пытаясь внедрить мою схему.Код довольно прост, и он такой же, как примеры машинописи, но с 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?
Заранее большое спасибо, любые советы или советы приветствуются и принимаются
С уважением