MongoDB
몽고디비는 기존 관계형데이터베이스에서 사용하는 SQL 쿼리 대신 자바스크립트를 이용하는 NoSQL 데이터베이스다.
몽고디비를 사용하려면 몽고디비가 설치되어있어야 하고 몽고디비를 실행시켜놔야한다.
- 몽고디비 설치(Window)
1. https://www.mongodb.com/download-center?jmp=homepage#community
여기에 들어가서 Windows Server 2008 R2 64-bit and later, with SSL surpport x64를 설치
2. C:\Program Files\MongoDB\Server\3.4\bin 에 몽고디비가 설치되었을텐데,
이 3.4디렉토리를 C:\ 밑으로 복사하고 이름을 mongoDB로 바꿔준다.
(이제 C:\mongodb\bin이 있는 것이다.)
그러면 C:\mongoDB가 생길텐데 이제 그 C:\mongoDB 디렉토리에 data 디렉토리(폴더)를 만들어준다.
3. 그 다음 명령프롬프트에 mongod --dbpath "C:\mongodb\data" 라고 입력하게 되면 몽고디비가 시작되면서 27017 포트에서 몽고디비가 연결되기를 기다릴 것이다.
(--dbpath는 데이터가 저장될 장소를 가리킨다. mongod)
MongoDB 구조
몽고디비를 간단하게 이해해본다.
몽고디비에는 많은 데이터베이스가 있을 것이고
그 중 애플리케이션이 사용하는 하나의 데이터베이스에는 여러 컬렉션(RDB의 테이블과 유사)이 존재하고
그 안에 Document(RDB의 레코드와 유사)들이 많이 들어 있을 것이다.
컬렉션이 RDB의 테이블이라고 생각하면 그안에 document들이 행(레코드)가 된다고 이해하면 쉬운데 차이점은
RDB에서는 테이블이 스키마라고 어떤 데이터가 들어와야하는지 같은 정의가 되어있었는데 몽고디비에서는 제한할 수 없다.
오히려 도큐먼트안에 도큐먼트가 또 있을 수 있어서 굉장히 자유롭다 (그렇지만 그렇게 사용하지는 않는다.)
몽고디비에 들어가 있는 Document는 JSON같이 생각할 수 있는데 정확하게는 기술적으로 JSON으로 저장되지 않는다. (Binary JSON , BSON이다. BSON은 JSON이 다루지 못하는 날짜, 타임스탬프등 몇 가지를 지원함.)
* Document는 자동으로 id가 생성되면서 구분을 할 수 있고, 동일 컬렉션에서 document간에 id가 같을 수 없다.
기타 CRUD 및 다양한 기능은 mongoose 미들웨어를 이용하면서 습득할 예정이다.
'Javascript > Node.js' 카테고리의 다른 글
웹 개발하면서 처리해야할 보안, 최소한의 방어, 정보보안 (0) | 2017.10.01 |
---|---|
mongoose로 Mongodb 사용하기 (+passport 로그인 인증, 보안) (4) | 2017.09.30 |
Pug 문법 정리 요약 (템플릿 엔진) (17) | 2017.09.29 |
Node.js API 구축 방법 기초 (8) | 2017.09.28 |
Node.js 라우터 분할, 파일 라우팅 (2) | 2017.09.27 |