코딩일상
[nest.js] MongoDB연결하기 본문
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
'개발 공부 > nest.js' 카테고리의 다른 글
[nest.js] interceptor사용법 적용예제 함께 (0) | 2022.12.05 |
---|---|
[nest.js] Pipes란?? Pipes 예제 (0) | 2022.12.05 |
[nest.js] 예외 처리, 예외 필터를 만들어 보자 (0) | 2022.12.05 |
[nest.js] middleware 적용 (0) | 2022.12.05 |
[nest.js] CLI 이용하여 파일 및 폴더 생성방법 (0) | 2022.12.05 |