[1] MongoDB 설치
1. 다운로드
https://www.mongodb.com/try/download/community
MongoDB Community Download
Download the Community version of MongoDB's non-relational database server from MongoDB's download center.
www.mongodb.com
2. 설치파일 실행
- CUSTOM 선택하고, MongoDB Compass(GUI 프로그램)도 설치
[2] MongoDB 매뉴얼
https://www.mongodb.com/docs/v3.6/
The MongoDB 3.6 Manual — MongoDB Manual
Navigation This version of the documentation is archived and no longer supported. The MongoDB 3.6 Manual Welcome to the MongoDB 3.6 Manual! MongoDB is a document database designed for ease of development and scaling. The Manual introduces key concepts in M
www.mongodb.com
[3] MongoDB 세팅 및 실행
1. 환경 변수 설정(처음 한 번)
- 탐색기에서 MongoDB 설치되어 있는 폴더에서 폴더 타고 쭉 들어가서 bin 폴더까지 들어간 뒤 해당 경로 복사
C:\Program Files\MongoDB\Server\3.6\bin
- 탐색기에서 내컴퓨터 오른쪽버튼 클릭 -> 속성
2. 서버 연결 및 클라이언트 연결(사용할 때마다)
1) C드라이브에 DB 사용할 폴더 생성해 놓고, 경로 복사 (ex> C:\2022_iot\data )
2) 명령 프롬프트 실행(서버용)
3) 명령어 -> mongod --dbpath 경로
ex) mongod --dbpath C:\2022_iot\data
4) 명령 프롬프트 하나 더 실행(클라이언트용) - 서버용 명령 프롬프트 끄지 않은 상태에서
5) 명령어 -> mongo
6) 서버용 명령 프롬프트 창에서 클라이언트 접속 확인(아래 사진에서 [conn1] 접속 된 것 확인)
7) 이제 클라이언트용 명령 프롬프트 창에서 사용 가능
[4] MongoDB 기본 사항
1. DB 유형
- Document oriented DB
2. RDBMS와 용어 비교
- Database : collection을 담고 있는 컨테이너
- Collection : RDBMS 에서의 table 과 비슷한 개념이지만, 스키마(정해진 구조)가 없음
- Document : RDBMS 에서의 row(record) 와 비슷한 개념
- Field : RDBMS 에서의 column(field) 과 비슷한 개념
- _id field : RDMBS의 primary key 와 비슷한 개념
- Embedded document : RDBMS 에서의 table join 과 비슷한 개념
3. 기본 명령어
- db.help( ) : 명령어 리스트 출력
1) DB 관련
- show dbs : 데이터베이스의 리스트 출력
- use 데이베이스명 : 해당 DB가 없는경우 생성 및 해당 DB로 이동, 있는 경우 작업할 DB로 이동
- db : 현재 작업 중인 DB가 무엇인지 확인할 때
- db.stats( ) : 현재 작업 중인 DB의 상태
- show collections : 작업 중인 DB 안에 있는 collection 리스트 출력
2) Collection 관련
- db.createCollection("컬렉션명") : 현재 작업 중인 DB 안에 컬렉션 생성
- db.컬렉션명1.renameCollection("컬렉션명2") : collection 이름 변경(컬렉션명1->컬렉션명2)
3) Document 삽입(데이터 insert)
- mongoDB는 데이터를 JSON 방식으로 관리
- 컬렉션이 존재하지 않아도 insert를 하면 자동으로 컬렉션이 생성되고 insert 실행
- _id field 를 입력하지 않으면 자동으로 생성 : 고유값을 저장하고 12byte
① insert 메소드
- db.컬렉션명.insert({필드명1:필드값1, 필드명2:필드값2,...})
- 필드값이 문자일 경우 " " 로 감싸야 한다.
② 배열
- JSON의 배열과 동일하게 표현 ([ ] 사용)
- {필드명1:["값1", "값2", "값3", ...], ...}
4) Document 조회
- 컬렉션에 저장된 document를 조회
① 모든 document 조회
- db.컬렉션명.find( ) => SQL 의 SELECT * FROM 테이블명 과 동일
② 조건에 맞는 document 조회
- db.컬렉션명.find(조건) => SQL 의 SELECT * FROM 테이블명 WHERE 조건 과 동일
ex> db.emp.find( { id:1101 } )
- 조건을 주는 방식은 SQL처럼 다양하다.(내일 이어서)
- 끝 -