본문 바로가기

프로젝트형 IoT 서비스 개발 4회차/3. 게이트웨이 디바이스 제어

[Day46] 2022-04-04(월) MongoDB1 - 설치 및 기본사용법 - 김서연 강사님

728x90

[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

    - 탐색기에서 내컴퓨터 오른쪽버튼 클릭 -> 속성

오른쪽에 고급 시스템 설정 클릭
환경 변수 클릭
시스템 변수 중 Path 클릭하고 편집 클릭
새로 만들기 클릭 후, 복사했던 경로 붙여넣고 확인 -> 확인 -> 확인

  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 : 데이터베이스의 리스트 출력

클라이언트 창에서 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처럼 다양하다.(내일 이어서)

 

- 끝 -

 

728x90