Ошибка подключения базы данных MongoDB к приложению на Nest.js

Рейтинг: 0Ответов: 0Опубликовано: 12.04.2023

При запуске приложения на Nest.js с использованием Mongoose для подключения к базе данных MongoDB я получаю ошибку ERROR [MongooseModule] Unable to connect to the database. В консоли отображаются попытки пере подключения к базе данных, но ничего не происходит. В итоге я получаю ошибку connect ECONNREFUSED ::1:27017. Что я делаю не так? Как я могу решить эту проблему?

curator.controller.ts

import { Controller, Get } from '@nestjs/common';
import { Curator } from './curator.schema';
import { CuratorService } from './curator.service';

@Controller('curators')
export class CuratorController {
  constructor(private curatorService: CuratorService) {}

  @Get()
  async findAll(): Promise<Curator[]> {
    return this.curatorService.findAll();
  }
}

curator.module.ts

import { Module } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';
import { CuratorSchema } from './curator.schema';
import { CuratorController } from './curator.controller';
import { CuratorService } from './curator.service';

@Module({
  imports: [MongooseModule.forFeature([{ name: 'Curator', schema: CuratorSchema }])],
  controllers: [CuratorController],
  providers: [CuratorService],
})
export class CuratorModule {}

curator.schema.ts

import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
import { Document } from 'mongoose';

export type CuratorDocument = Curator & Document;

@Schema()
export class Curator {
  @Prop()
  idCurator: number;

  @Prop()
  Familiya: string;

  @Prop()
  Imya: string;

  @Prop()
  Otchestvo: string;
}

export const CuratorSchema = SchemaFactory.createForClass(Curator);

curator.service.ts

import { Injectable } from '@nestjs/common';
import { InjectModel } from '@nestjs/mongoose';
import { Model } from 'mongoose';
import { Curator, CuratorDocument } from './curator.schema';

@Injectable()
export class CuratorService {
  constructor(@InjectModel(Curator.name) private curatorModel: Model<CuratorDocument>) {}

  async findAll(): Promise<Curator[]> {
    return this.curatorModel.find().exec();
  }
}

app.module.ts

import { Module } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';
import { CuratorModule } from './curator/curator.module';

@Module({
  imports: [
    MongooseModule.forRoot('mongodb://localhost/db_curators'),
    CuratorModule,
  ],
})
export class AppModule {}

Ответы

Ответов пока нет.