EtoC

MongoDB 클러스터 사용하여 연결하기 본문

BackEnd/Database

MongoDB 클러스터 사용하여 연결하기

게리드 2023. 11. 27. 13:38

몽고디비클러스트를 활용하여 몽고디비에 연결해본다.

 

 

MongoDB: 애플리케이션 데이터 플랫폼

업계 최고의 최신 데이터베이스를 토대로 구축된 애플리케이션 데이터 플랫폼을 사용해 아이디어를 더욱 빠르게 실현하세요. MongoDB는 데이터를 손쉽게 처리할 수 있도록 지원합니다.

www.mongodb.com

클라우드에 아틀라스로 들어간다.

 

 

 

 

 

 

try free를 클릭

 

 

 

 

 

위치는 서울이 있어서 서울로하고 생성하자.

이제 생성이 완료되었다.

생성 완료되면 Quick Strart라며 바로 네트워크 엑세스를 설정하게된다.

 

quick start를 하지않았다면 화면 왼쪽 하단에 NetworkAccess에 설정하면된다.

network access에서는 접속할 수 있는 IP를 설정할 수 있다.

ADD IP ADDRESS 를 클릭하고 접속 가능하게할 IP주소와 설명을 입력하고 추가하면 된다.

나중에 AWS EC2서버에 프/백을 올릴때에도 EC2 서버의 고정 IP를 얻어서 여기 IP Access List에 등록해줘야 접속이 가능하다.

 

활성화가되면  데이터베이스로들어가서 클러스터의 커넥트를 누르면 여기 어떻게 접속할 것인지 설정을 한다.

 

내경우 quickStart를 통해 id와 pw를 이미 생성해두어서 패스했지만 quickStart를 하지않았다면

아마 몽고디비에 접속할 User를 생성해야 할 것이다.

위의 몽고디비와 연결한 문자열을 복사하고 내가 작업할 프로젝트에 돌아가서 최상단에 .env파일을 생성하고 붙여넣기하면된다.

MONGODB_URI = mongodb+srv://username:<password>@cluster0.b2za0rk.mongodb.net/<dbname>?retryWrites=true&w=majority

이때 <password>와 <dbname>이라고 표시된부분을  

password에는 생성한 database user의 비밀번호를 입력하고,

dbname은 내가 생성한 모델들을 합쳐서 어떻게 사용할지 이름을 정해주면된다.

 

이렇게 생성한 DB를사용하려면 연결을 해줘야한다.

index.js파일을 생성하고 아래처럼 입력한다.

import dotenv from "dotenv";
dotenv.config();

export default {
  MONGODB_URI: process.env.MONGODB_URI,
};

 

그리고 app.js로 이동하여 불러오고 설정해주자.

import mongoose from 'mongoose'
import config from 'config파일 경로'

const app = express();
const { MONGODB_URI } = config;

mongoose
  .connect(MONGODB_URI)
  .then(() => console.log("✅ Connecting MongoDB"))
  .catch((e) => console.log(e)


app.get("/");

export default app;

❖ mongoDB 4.0아래일 경우connect의 옵션을 설정하지않으면 node에서 계속 경고문을 보낸다.

성공적으로 연결되었다.

이제 서버를 실행해서 몽고DB에 연결되면 몽고크러스트에서  collections에서 확인할 수 있다.

browse Collections에서 유저가 가입하거나 글을 쓰면 자료 형태로 나타나는것을 확인 할 수 있다.