NoSQL DBMS의 한 종류.
MongoDB는 NoSQL로 분류되는 크로스 플랫폼 도큐먼트 지향 데이터베이스 시스템이다.
MySQL 처럼 전통적인 테이블-관계 기반의 RDBMS가 아니며 SQL을 사용하지 않는다.
MySQL의 테이블과 같은 스키마가 고정된 구조 대신 JSON 형태의 동적 스키마형 문서를 사용한다. |
MongoDB는 가장 기본적인 데이터를 Document라고 부른다. |
Document의 집합을 Collection이라고 하는데, RDBMS에서는 테이블에 해당된다. |
Collection의 집합은 DB이고, 이는 RDBMS에서도 동일하다. |
데이터 일관성이 거의 필요없고 조인 연산을 Embed로 대체할 수 있는 경우에는 MongoDB가 확실한 대안이다. |
반대로 저장하는 데이터가 은행 데이터 값이 일관성이 매우 중요한 작업에는 MongoDB를 쓰기 매우 힘들다. |
1. 본격적으로 설치하기
아래의 링크를 통해 MongoDB 홈페이지에 접속해 회원가입을 해준다.
https://www.mongodb.com/cloud/atlas/register
MongoDB Atlas
Get started free. No credit card required.
www.mongodb.com
클라우드 상에 MongoDB를 만들어준다.
Region에서 서울을 선택하면 되지만 무료 버전은 제공하지 않는다.
싱가포르로 선택해준다. 지역을 선택한 뒤 이름을 정해주고 Create를 눌러주면 아래의 이미지에 들어간 뒤 Connect을 눌러준다.
Username과 Password를 입력해준다. 꼭 기억해야 한다.
Choose a connection method를 클릭 후 아래의 이미지를 선택한 후 아래의 이미지처럼 나오는지 확인
위에 이미지에서 Include full driver code example 아래에 있는 연결 코드를 Visual Studio Code에 붙여넣기한다.
2. 몽구스(Mongoose) 알아보기
npm install mongoose -s
몽구스를 이용해서 어플리케이션과 MongoDB를 연결한다.
const mongoose = require('mongoose')
mongoose.connect('mongodb+srv://hyun:abcd1234@hyun-practice.bttus44.mongodb.net/?retryWrites=true&w=majority', {
useNewUrlParser: true,
useUnifiedTopology: true,
useCreateIndex: true,
useFindAndModify: true // 안쓰면 에러가 뜬다.
}).then(() => console.log('MongoDB Connected...'))
.catch(err => console.log(err))
위에 코드를 입력하거나 복붙한 뒤 터미널에서 npm run start를 입력해준다.
아래의 이미지처럼 MongoDB Connected... 로그가 남으면 성공!
반응형