반응형
Notice
Recent Posts
Recent Comments
Link
코딩일상
[nest.js] MongoDB연결하기 본문
반응형
MonogoDB 연결하기
Nest는 MongoDB 데이터베이스와 통합하기 위한 두 가지 방법을 지원합니다.
MongoDB용 커넥터가 있는 내장 TypeORM 모듈을 사용하거나
가장 널리 사용되는 MongoDB 객체 모델링 도구인 Mongoose 를 사용할 수 있습니다.
이번 포스팅에서는 Mongoose를 이용하여 진행
$ npm i @nestjs/mongoose mongoose
Mongoose 공식문서
//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
위 과정이 다 되었으면 실행을 시켜 문제가 없는지 확인을 한다.
레퍼런스
반응형
'개발 공부 > 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 |
Comments