코딩일상

[nest.js] MongoDB연결하기 본문

개발 공부/nest.js

[nest.js] MongoDB연결하기

solutionMan 2022. 12. 5. 22:29
반응형

 

MonogoDB 연결하기

Nest는 MongoDB 데이터베이스와 통합하기 위한 두 가지 방법을 지원합니다. 

MongoDB용 커넥터가 있는 내장 TypeORM 모듈을 사용하거나 

가장 널리 사용되는 MongoDB 객체 모델링 도구인 Mongoose 를 사용할 수 있습니다.

이번 포스팅에서는 Mongoose를 이용하여 진행

 

$ npm i @nestjs/mongoose mongoose

 

 

Mongoose 공식문서

 

Mongoose v6.7.5: Schemas

If you haven't yet done so, please take a minute to read the quickstart to get an idea of how Mongoose works. If you are migrating from 5.x to 6.x please take a moment to read the migration guide. Everything in Mongoose starts with a Schema. Each schema ma

mongoosejs.com


//app.module.ts

import { Module } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';

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

 

 

MongoDB사이트 Database 접속 후 Connect클릭

위 connect your application 클릭

주소를 복사하고 나서 수정해야 할 부분

  • password :부분은 <> 삭제하고 생성할때만들었던 비밀번호 입력
  • 데이터베이스명: / ?여기사이에 데이터베이스명을 입력

mongodb+srv://user:password@nestcluster.yuurssw.mongodb.net/데이터베이스명?retryWrites=true&w=majority

 

만약, password가 기억이 나지 않는다면 여기 링크 클릭

 


환경변수 설정

 

Nest에서 이 기술을 사용하는 좋은 방법은 적절한 파일 을 로드 ConfigModule하는 를 노출하는 를 만드는 것입니다. 

이러한 모듈을 직접 작성하도록 선택할 수 있지만 편의를 위해 Nest는 기본 패키지를 제공합니다.

 

cofig 설치

$ npm i --save @nestjs/config

.env 파일 생성 후 아래같이 환경변수 생성

MONGODB_URI="mongodb url~~~~"

app.module.ts에 반영

import { MongooseModule } from '@nestjs/mongoose';//Mongoose모듈 불러오기
import { ConfigModule } from '@nestjs/config';//Config모듈 불러오기

@Module({
  imports: [
    ConfigModule.forRoot(),//환경변수 실행
    MongooseModule.forRoot(process.env.MONGODB_URI),//몽고 DB 연결
    CatsModule,
    UsersModule,
  ],
  //controllers에서는 provider에서 주입받은것들만 사용이 가능하다.
  controllers: [AppController],
  providers: [AppService],
})

 

추가)mongoose 설정 옵션  

mongoose 버전 6.0 이상부터는 더 이상 지원되지 않는 옵션

useNewUrlParser

useUnifiedTopology

useFindAndModify

useCreateIndex

 

Mongoose v6.7.5: Migrating to Mongoose 6

There are several backwards-breaking changes you should be aware of when migrating from Mongoose 5.x to Mongoose 6.x. If you're still on Mongoose 4.x, please read the Mongoose 4.x to 5.x migration guide and upgrade to Mongoose 5.x first. Mongoose now requi

mongoosejs.com

위 과정이  다 되었으면 실행을 시켜 문제가 없는지 확인을 한다.

 


레퍼런스

 

Documentation | NestJS - A progressive Node.js framework

Nest is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with TypeScript and combines elements of OOP (Object Oriented Progamming), FP (Functional Programming), and FRP (Functional Reac

docs.nestjs.com

 

반응형
Comments