본문 바로가기

Node.js

Nodejs MongoDb Cluster 생성 및 연결하기

반응형

요즘 MERN Stack에 대해 공부하면서 MongoDb를 이용해서 간단히 프로젝트를 하나 만들려고 한다. 이전에 오라클이나 MySql은 써본 경험이 있었지만 MongoDb는 처음이기에 nodejs로 MongoDb를 내 어플리케이션에 연결하는 과정을 정리해보자. 

 

우선 파일구조를 프론트(client), 백(server) 폴더로 나누어서 진행해보자.

 

아무것도 없는 빈 폴더에 각각 client, server 폴더를 만들어 준 뒤 필요한 필요한 패키지들을 각각의 폴더에 설치해준다. 

 

client 폴더에는 우선

npx create-react-app // 우선 리액트 앱 환경 설치

npm install axios react-filebase64 redux redux-thunk + ... // 본인이 필요한 패키지 설치 

 

server 폴더에는 

 

npm init -y   // package.json 파일 초기화

npm install body-parser cors express mongoose nodemon  // 요 애들은 거의 고정식으로 쓰이니 참고

client 쪽 패키지보단 server 쪽은 거의 자주 쓰이는 것들이니 습관화 들이면 되겠다. 

 

이제 기본 세팅들은 마쳤고  몽고디비로 넘어가서 필요한 작업들을 해주자. 

 

 

mongodb.com/cloud/atlas 주소로 들어가면 

 

 

스타트를 누른뒤에 구글아이디 연동을 해서 로그인을 하든 새로 아이디를 만들든 접속을 하게 되면 아래 창이 뜬다.

 

여기에서 가운데 create organization 를 누른뒤에  create project 버튼을 누른다. 프로젝트 까지 안내에 따라 만들게 되면 드디어 Cluster를 만들 수 있게 된다. 

 

 

 

오른쪽 무료 버전을 선택하면 

 

위와 같은 화면이 뜨고 왼쪽 카테고리 메뉴에서 Database Access 와 Network Aceess 에서 사용자 계정 추가와 현재 아이피 기준으로 호스팅 하게 설정 해 줄 수 있다. 이제 다시 clustes 카테고리 안에 가운데 connect 버튼을 눌러 url 을 따오자. 

 

이제 server 폴더 안에 index.js 파일로 가서

import express from 'express'  // 새로운 버전이 나오면서 require 가 아닌 import 로도 끌어다 쓸 수 있다. 
import bodyParser from 'body-parser'
import mongoose from 'mongoose'
import cors from 'cors'


const app = express();

app.use(bodyParser.json({limit: "30mb", extended: true}));   
app.use(bodyParser.urlencoded({limit:"30mb", extended:true}));   
app.use(cors());

const CONNECTION_URL = 'mongodb+srv://devilfront:{각자 설정한 비밀먼홍~}@cluster0.270lh.mongodb.net/myFirstDatabase?retryWrites=true&w=majority';
const PORT = process.env.PORT || 5000;

mongoose.connect(CONNECTION_URL, {useNewUrlParser: true, useUnifiedTopology:true})
            .then(() => app.listen(PORT, () => console.log(`Server running on port : ${PORT}`)))
            .catch((error) => console.log(error.message));

mongoose.set('useFindAndModify', false); 

 

이렇게 작성을 하구 

실행언어 바꾸고 type 객체 하나 추가 한뒤 실행시키면 

 

 

잘 연결 됬당. 

 

끝!

반응형

'Node.js' 카테고리의 다른 글

Nodejs Middleware 구현 하기 ( next() )  (0) 2021.08.22
Nodejs Express.js 란  (0) 2021.08.20
Nodejs bcrypt 패키지 비밀번호 암호화  (0) 2021.07.21
Nodejs nodemon  (0) 2021.07.15
Nodejs body-parser 패키지  (0) 2021.07.15