Ошибка подключения базы данных MongoDB к приложению на Nest.js
При запуске приложения на 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 {}
Источник: Stack Overflow на русском