01. 준비하기
- 데이터 베이스와 MongoDB의 개념
- 데이터 베이스란?
==> Database Management System(DBMS): 데이터를 저장하고 찾기 위해 만들어진 소프트웨어
==> 데이터베이스 서버(DB 서버): DBMS가 설치된 서버 컴퓨터
==> DB 서버의 모든 데이터는 DBMS가 관리 - 데이터 베이스의 종류
==> 관계형DB - Relational DB(RDB): 데이터 형식이 정해져 있고, 데이터 끼리 관계를 맺어 모순이 없는 데이터를 유지할 수 있도록 도와준다. (모순이 없는 데이터: 무결성과 정합성이 높은 데이터
==> 비관계형DB - Non-relational DB(NoSQL): 데이터의 형태가 고정되어 있지 않고 유연하게 확장할 수 있다. 유연한 만큼 저장되는 데이터를 제대로 관리하지 않으면 DB에 저장된 데이터를 신뢰할 수 없게 된다. 최근 많은 스타트업에서 유연한 설계를 위해 많이 채택하는 유형 - MongoDB란?
==> 많은 개발자들에게서 사용되고 있는 가장 인기있는 비관계형DB(NoSQL) 중 하나.
==> 데이터를 JSON 형태로 저장, 무료로 사용, 스케일을 쉽게 줄이고 늘일 수 있다. - 웹 서버와 DB 서버
==> 웹 서버: 웹 클라이언트가 원하는 데이터와 기능을 제공
==> DB 서버: 데이터를 최대한 성능을 좋게 저장하며 DB 클라이언트가 원하는 데이터를 제공
==> 제공하는 것만 다르고 기본 원칙은 비슷하다. But 웹 서버는 DB서버를 이용하는 DB 클라이언트가 될 수 있다.
- 데이터 베이스란?
- MongoDB 설치 (윈도우)
- MongoDB 설치
- C드라이브에 data폴더 생성 / data폴더에 db폴더 생성
- https://www.mongodb.com/try/download/community 에서 MongoDB Community Server
Version: 5.0.16
==> 버전이 다르더라도 상관없다. - 설치 중에 Custom을 1.에서 생성한 폴더로 폴더 변경을 해준다.
- Install MongoDB Compass 선택을 해제한다.
- 끝까지 설치를 마치고 제어판 > 고급 시스템 설정 에 들어간다.
- 환경 변수 > [시스템 변수] 목록 > Path 선택 > 편집 에 들어가면 C:\data\db\bin을 추가해준다.
- 확인을 위해 윈도우 키 + R 을 누른 후 cmd 를 입력하고 엔터 (명령 프롬포트)
- mongod --install --serviceName MongoDB --serviceDisplayName MongoDB --dbpath C:\data\db --logpath C:\data\db\log\mongoservice.log --logappend 입력
- mongo 입력 (mongoDB 6 버전을 받을 경우 bin 파일 안에 mongo.exe가 없어서 그런거다. 무시하고 진행해도 괜찮다.)
- Studio 3T 설치
- https://robomongo.org/download 경로를 통해 설치한다.
- 정책 동의 (agree)
- 이메일, 이름, 전화번호 입력을 제외하고는 입력하지 않는다.
- MongoDB 설치
02. 시작하기
- MongoDB Client: Studio 3T 학습
- Studio 3T란?
==> MongoDB를 위해서 만들어진 MongoDB Client / 저장된 데이터를 관리하기 쉽게 보여주는 프로그램
==> 단순하지 않고 프로그램 사용법이 복잡한게 특징이다. - Studio 3T, MongoDB에 연결하기
- Connect > New Connection > 2번째 옵션 선택 후 Next > db 이름을 입력, 주소에 localhost와 27017 입력하고 Save
- 저장이 완려되면 MongoDB Connections창으로 돌아온다, connection을 클릭 > Connect버튼 클릭해서 연결
- Studio 3T란?
- 코드에서 MongoDB 이용
- mongoose란?
==> API에 MongoDB를 연결해서 데이터를 주고 받을 수 있게 도와주는 도구
==> 터미널에 npm install mongoose입력해 설치 - mongoose의 문서(Document)란?
==> DB에서 가지고 있는 각 데이터 하나하나를 문서(Document)라고 정의
==> 1개 이상의 Key-Value의 쌍으로 이루어져 있다. - mongoose의 컬렉션(Collection)이란?
==> JSON형식의 여러가지 문서(Document)를 보유할 수 있다. - mongoose의 스키마(Schema)란?
==> 어떤 종류의 값이 들어가는지 정의
==> 데이터를 모델링할 때 사용
- null : null 값과 존재하지 않는 필드
ex: null - String : 문자열
ex: “mongoDB” - Number : 숫자
ex: 3.14 - Date : 날짜
ex: new Date() - Buffer : 파일을 담을 수 있는 버퍼, UTF-8이 아닌 문자열을 저장
ex: 0x65 - Boolean : true or false
ex: true - ObjectId(Schema.Types.ObjectId) : 객체 ID, 주로 다른 객체를 참조할 때 넣음
ex: ObjectId() - Array : 배열 형태의 값
ex: ["a", "b", "c"]
- null : null 값과 존재하지 않는 필드
- mongoose의 모델(Model)이란?
- DB에 데이터를 저장해줄 때 데이터의 구조를 담당
- mongoose란?
'JavaScript Dev. > Node.js' 카테고리의 다른 글
AWS 배포하기 (feat. EC2) (0) | 2023.04.25 |
---|---|
Git 이용하기 (0) | 2023.04.24 |
Express.js 란? (0) | 2023.04.22 |
Package Manager 란? (0) | 2023.04.22 |
HTTP / Web Server (0) | 2023.04.22 |