본문 바로가기
Front-end/Node.js

#2. MongoDB 연결하기

by 예닌잉 2020. 11. 16.
728x90

 

몽고DB ( MongoDB ) ?

몽고디비는 NoSQL ( 비관계형 데이터베이스 )로 관계형 데이터베이스의 테이블 개념이 없다. 그 대신 몽고디비는 여러 데이터가 모인 하나의 단위를 컬렉션 ( Collection ) 이라고 한다. 몽고디비는 데이터 저장소를 가지고 있으며, 그 안에 여러개의 컬렉션을 넣을 수 있다. 즉, 데이터베이스는 컬렉션의 집합이라고 할 수 있다. 

 

1. 문서지향 데이터베이스

2. 스키마가 없다

3. 스케일 아웃이 가능하다

4. 범용 데이터 베이스

5. 조인과 트랜잭션이 없다

6. 매우 고성능이다

7. 낮은 진입장벽

 

 

 

NoSQL ? 

이 전에는 한정된 규모의 복잡성을 가진 데이터가 주를 이루어졌다면, 빅데이터 시대로 넘어가면서 점점 데이터의 형태가 단순해지고 대량의 규모로 넘어가고 잇다. 이러한 데이터 홍수 속에서 기존의 RDBMS 방식 즉, 관계형 데이터베이스 방식으로는 한계를 느낄 수 밖에 없다. 결국, 새로운 형태의 데이터 저장 기술을 필요로 하게 되었는데 이 때 등장한 것이 NoSQL의 개념이다.

NoSQL = Not Only SQL

기존의 RDBMS 형태의 관계형 데이터베이스는 말 그대로 데이터 관계가 긴밀히 연결되어 있는 형태이다.

NoSQL은 단어만 봐도 알 수 있듯이 SQL을 활요하는 형태가 아닌 다른 방식의 저장 기술을 의미한다. 

 

 

 

 

MogoDB 연결하기 👩🏻‍💻

www.mongodb.com/cloud/atlas/lp/try2?utm_source=google&utm_campaign=gs_apac_south_korea_search_brand_atlas_desktop&utm_term=mongodb&utm_medium=cpc_paid_search&utm_ad=e&utm_ad_campaign_id=1718986522&gclid=Cj0KCQiAwMP9BRCzARIsAPWTJ_H5-ipUe10WetcdfmbULvRg51EUOMSH-LcbQDurN9hIOA6MScRtBn0aAuM0EALw_wcB

 

MongoDB Atlas: Cloud Document Database

Cloud-hosted MongoDB service on AWS, Azure, and GCP

www.mongodb.com

몽고DB 사이트에서 회원가입을 하여 cluster을 생성 후 유저를 생성한다.

ID와 Password 꼭 기억하고 mongodb+srv 주소를 메모해둔다.

 

 

Mongoose ✨

MongoDB를 편안하게 사용할 수 있는 툴이다.

터미널에서 다운받아주면 된다.

> npm install mongoose --save
"dependencies": {
    "express": "^4.17.1",
    "mongoose": "^5.10.14"
  }

mongoose를 설치하면 package.json 파일에서 dependencies에 mongoose가 추가된것을 확인 할 수 있다. 

이제 우리는 mongoose를 이용해서 mongoDB와 어플리케이션을 연결 할 것이다.

 

 

 

자, 이제 진짜 연결하자 🙋🏻‍♀️

index.js 파일로 돌아와서 몽고DB를 연결하는 코드를 작성해준다.

const mongoose = require("mongoose")                                                                                                                      
mongoose.connect("mongodb+srv://yerinko:<비밀번호>@boilerplate.b4kwc.mongodb.net/<DB프로젝트명>?retryWrites=true&w=majority", {                                     
    useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true, useFindAndModify: false                                                        
}).then(() => console.log("MongoDB Connected..."))                                                                                                        
    .catch(err => console.log(err))                                                                                                                       
                                                                                                                                                          

 

mongoose.connect 주소 안에 비밀번호와 DB프로젝트명은 개인이 알아서 생성했던 그대로 넣어주면 연결 완성!

npm run start 를 하여 실행시켜주면

MongoDB가 성공적으로 연결되었다는 console창이 뜬다.

 

 

 

 

 

반응형