inflearn logo
강의

講義

知識共有

しっかりしたバックエンドNestJS、基礎から深化まで

몽고db 연결이 안됩니다.

833

bigdata

投稿した質問数 13

0

2022년 10월 9일 기준으로 모든 패키지 설치했습니다.

아래 내용을 봐주시고 어느 부분에서 에러가 나는 건지 알려주시면 감사하겠습니다.

패키지 버전 문제인 건지, 아니면 다른 몽고db 네트워크 설정 문제인 건지

저는 모르겠네요.

pakage.json - 패키지 버전

{
"dependencies": {
    "@nestjs/common": "^9.0.0",
    "@nestjs/config": "^2.2.0",
    "@nestjs/core": "^9.0.0",
    "@nestjs/mongoose": "^9.2.0",
    "@nestjs/platform-express": "^9.0.0",
    "class-transformer": "^0.5.1",
    "class-validator": "^0.13.2",
    "mongoose": "^6.6.5",
    "reflect-metadata": "^0.1.13",
    "rimraf": "^3.0.2",
    "rxjs": "^7.2.0"
  },
  "devDependencies": {
    "@nestjs/cli": "^9.0.0",
    "@nestjs/schematics": "^9.0.0",
    "@nestjs/testing": "^9.0.0",
    "@types/express": "^4.17.13",
    "@types/jest": "28.1.8",
    "@types/node": "^16.0.0",
    "@types/supertest": "^2.0.11",
    "@typescript-eslint/eslint-plugin": "^5.0.0",
    "@typescript-eslint/parser": "^5.0.0",
    "eslint": "^8.0.1",
    "eslint-config-prettier": "^8.3.0",
    "eslint-plugin-prettier": "^4.0.0",
    "jest": "28.1.3",
    "prettier": "^2.3.2",
    "source-map-support": "^0.5.20",
    "supertest": "^6.1.3",
    "ts-jest": "28.0.8",
    "ts-loader": "^9.2.3",
    "ts-node": "^10.0.0",
    "tsconfig-paths": "4.1.0",
    "typescript": "^4.7.4"
  }
}

에러화면 - npm run start:dev

nest-mongoose-unable.png

.env 파일 내용

MONGODB_URI="mongodb+srv://<id>:<pw>@dbtest.0lqasde.mongodb.net/test"
PORT=3000
MODE='dev'

.env 파일 위치 및 app.module.ts 코드 화면

nestjs-module.png

app.module.ts

import { MiddlewareConsumer, Module } from '@nestjs/common';
import { NestModule } from '@nestjs/common/interfaces/modules';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { CatsModule } from './cats/cats.module';
import { LoggerMiddleware } from './common/middlewares/logger.middleware';
import { MongooseModule } from '@nestjs/mongoose';
import * as mongoose from 'mongoose';
import { ConfigModule } from '@nestjs/config';

@Module({
  imports: [
    ConfigModule.forRoot(),
    MongooseModule.forRoot(process.env.MONGODB_URI, {
      useNewUrlParser: true,
      useUnifiedTopology: true,
      useCreateIndex: true,
      useFindAndModify: false,
    }),
    CatsModule,
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule implements NestModule {
  private readonly isDev: boolean = process.env.MODE === 'dev' ? true : false;
  configure(consumer: MiddlewareConsumer) {
    consumer.apply(LoggerMiddleware).forRoutes('*');
    mongoose.set('debug', this.isDev);
  }
}

 

main.ts 파일

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import { HttpExceptionFilter } from './common/exceptions/http-exception.filter';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  app.useGlobalFilters(new HttpExceptionFilter());
  const PORT = process.env.PORT;
  await app.listen(PORT);
}
bootstrap();

 

mongodb - compass 화면

mongo-compass.png

mongodb data access 화면 - admin 권한 부여

mongo-access.png

ip address 접근 권한 화면 - 어느 위치에서도 접근 가능하게 설정

mongo-ip.png

몽고db mongodb express nodejs NestJS ssr

回答 1

2

caput3545

안녕하세요 data big님.

 

혹시 npm install 하는 과정에서 mongo db 관련하여 버전 경고가 뜨지는 않았었나요?

버전 경고가 만약 떴었다면, 아래의 코드를 입력하여 mongo db의 버전을 바꿔주세요.

npm install mongoose@6.2.2 --save

 

이후에도 해결되지 않으셨다면, 새로운 질문글에 지금 이 질문글의 링크를 복사하여 남겨주세요!
바로 확인하고 답변 드리겠습니다.

감사합니다.

프로젝트 환경 세팅할 때 최신 노드 버젼을 사용하시는 분들은 참고하셔도 좋을 것 같아요~

2

80

1

DTO에 대한 질문

1

87

2

백엔드 MVC에서 View의 역할은 무엇인가요?

1

93

2

추가 업데이트 관련 건

0

90

2

nest js 버전문제

0

79

2

mongdb 스키마 공식 문서와 형태가 다른 이유 궁금합니다.

0

103

1

라인 끝에 에러 표시(eslint) 때문에 구글 찾아 보니.

0

74

1

전체 고양이 조회 라우터 중 error.message 오류

0

67

1

캡슐화 추가 설명 중 단일책임원칙 관련 질문

0

104

0

42강 고양이끼리 소통 댓글 구현 중 Schema hasn't been registered for model 'comments' 에러 해결

0

82

1

채팅 이슈

0

133

1

모듈이 더 이상 지원하지 않는답니다

0

206

1

오류가 있습니다

0

106

1

import 에서 오류가 납니다

0

127

1

이런 오류가 나옵니다

0

100

1

에러가 발생합니다

0

109

1

프론트 에러 뜨는데 수정 안해주시나요

0

156

1

emit() broadcast.emit() 질문있습니다

0

101

1

서버연결이 안됩니다.

1

403

1

[PM2][ERROR] Command not found

0

520

1

S3에 업로드까지는 성공했는데 사진이 나오지 않습니다.

0

248

1

error_code : Property 'user' does not exist on type 'Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>'.ts(2339)

0

601

1

jwt를 따로 연습하고 있는데 env를 못읽는 것 같습니다.

0

322

2

Ec2로 안하시는 이유가 있을까요?

0

343

1