[Node] MongoDB 연결 + Mongoose 설치 및 적용

2023. 5. 4. 15:07기술 창고/Node.js

728x90
반응형
SMALL

MongoDB

Redis와 같은 NoSQL 데이터베이스입니다.

유연하고 확장 가능한 방식으로 대량의 데이터를 저장하고 관리하도록 설계되었습니다.

MongoDB의 주요 기능 중 하나는 선택적 스키마가 있는 JSON 과 같은 문서 형식으로 데이터를 저장하는 문서 지향 데이터 모델입니다.

이를 통해 비용이 많이 드는 데이터 마이그레이션 없이 스키마를 쉽게 수정할 수 있으므로 유연성이 향상되고 개발 시간이 단축됩니다.

 

 

MongoDB 연결

(1) MongoDB 계정 생성

몽고DB 사이트에 들어가서 Start Free 를 누릅니다.

 

 

계정이 없다면 계정을 생성해주어야 합니다.

Company를 제외한 나머지 정보들을 기입하여 계정을 만듭니다.

 

 

몽고DB를 사용할 목적들과 주로 사용하는 언어를 설정해줍니다.

 

 

무료 버전을 선택합니다.

(돈 없는 자취인이라 ㅎㅎ;;)

제공자는 입맛에 맞는 제공자를 선택합니다.

저는 아마존에 지역은 서울로 지정했습니다.

 

 

유저 생성을 위한 유저 이름과 비밀번호를 설정합니다.

비밀번호는 자체적으로 암호화해준 비밀번호로 설정하였습니다.

 

 

설정이 완료되면 위의 사진과 같이 MO 티어의 무료버전 클러스터가 생성이 된 것을 볼 수 있습니다.

 

 

 

이제 제가 만들고 있는 어플리케이션에 연결하기 위해 설정을 진행해주어야 합니다.

클러스터 명 옆에 있는 Connect를 누릅니다.

 

 

Connect to your application 항목의 Drivers를 눌러 저만의 어플리케이션에 연결합시다.

 

 

우선 연결할 코드를 복사합니다.

 

 

복사한 코드를 index.js 내부에 임의적으로 붙여넣어줍니다.

 

 

 

(2) Mongoose 다운로드

# Mongoose 란?

Mongoose는 Node.js 와 MongoDB 를 위한 ODM(Object Data Mapping) 라이브러리입니다.

ODM을 사용하게 되면 코드 구성이나 개발 편의성 측면에서 장점이 많습니다.

프로그래밍 언어 (javascript) 객체와 MongoDB 데이터를 Mapping하여 호환성을 만들어내고, 간편한 CRUD를 가능하게 합니다.

필요에 따라 확장 및 변경이 가능한 자체 검증 기능과 타입 변환이 가능하며, Express 와 함께 사용하면 MVC 패턴 구현에 용이하다는 장점이 있습니다.

 

 

비주얼 스튜디오 터미널로 와서 Mongoose를 설치해줍니다.

# 명령어 : npm install mongoose --save

 

설치하고 난 이후에 package.json 파일을 확인해보면 mongoose dependency가 추가된 것을 볼 수 있습니다.

 

index.js에 MongoDB 를 연결할 코드를 작성해줍니다.

 

const mongoose = require('mongoose')

mongoose dependency 를 불러옵니다.

mongoose.connect('mongodb+srv://wlstpgns51:{MongoDB 계정 비밀번호 입력}@cluster0.6ifamrb.mongodb.net/?retryWrites=true&w=majority', {
    useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex, useFindAndModify: false
})

 

앞서 MongoDB를 설정하고 생성하면서 복사하여 붙여놨었던 코드를 복사하여 mongoose.connect 함수에 넣습니다.

connect를 통해 연결을 시켜줄 것입니다.

계정 아이디 옆에 비밀번호를 입력해주어야 하는 것을 잊어선 안됩니다.

설정하기 이전에 useNewUrlParser, useUnifiesTopology, useCreateIndex, useFindAndModify 설정들을 세팅해줍니다.

이 세팅들을 해주지 않으면 에러가 발생할 수 있습니다.

 

 

코드를 실행하기 이전에 then 함수를 사용해 정상적으로 연결이 완료되었을 경우에 콘솔에 'MongoDB Connected' 문구가 나오게 하고, 연결이 되지 않을 경우에 catch 함수를 사용하여 에러 문구가 콘솔에 찍히도록 추가로 작성해줍니다.

 

 

실행했을 때 성공하든 못하든 콘솔에 값이 찍혀야 하나 아무런 값도 안나왔을 경우에는 앞에 설정했던 설정들을 주석처리 해주거나 삭제해주어야 합니다.

알고보니 mongoose 버전이 6.0 이상이면 해당 설정값을 없애주어야 한다고 합니다.

 

 

실행해보니 정상적으로 연결이 되었음을 알리는 문구가 출력되었습니다!

 

 

이것으로 MongoDB를 연결하고 DB를 잘 사용하기 위한 Mongoose 라이브러리까지 설정하여 적용해보았습니다!

728x90
반응형
LIST