기본 콘텐츠로 건너뛰기

Windows에서 MongoDB 사용하기 요약



NoSQL에 대한 이해
MongoDB에 대한 이해
MongoDB 메뉴얼
  • MongoDB 다운받기 - Community GUI를 설치하는 대신에 zip 파일선택하여 Shell Window에서 운영. ( mongdb.com )
  • MongoDB 서버 사용하기 - Command Interpreter
    • Demon으로 실행하기 : 이 방법( --fork 옵션 )은 윈도우에서 실행되지 않고, 대신에 --install 옵션을 사용하여 윈도우 서비스에 등록하여 백그라운드로 사용한다.
      1. 관리자 모드로 명령 프롬프트를 실행한다.
      2. demon을 실행시킨다. ( --install 옵션 추가 )  
        • mongod --dbpath D:\Working\MongoDB\Server_JServer\mongodb_ver4.2.1\data --port 13100 --bind_ip_all --auth --logpath  D:\Working\MongoDB\Server_JServer\mongodb_ver4.2.1\log\mongod.log --install
      3. 명령 라인에 다음 명령을 입력한다.
        • net start MongoDB
      4. 윈도우 서비스 창을 열어서 아래 내용을 확인한다.
    • 배치 파일로 자동 실행하기
      • Demon으로 실행하는 방법의 2번과 3번을 한번에 처리하기 위해 생성한 mdbexe.bat을 사용한다. 
      • 방법
        • mongodb demon을 실행하기 위한 mongod.cfg configuration 파일을 만든다.
        • 배치 파일에 mongod 커멘드와 옵션을 다음과 같이 기술한다.
          • mongod --config filename --install
        • 배치 파일에 MongDB 서비스를 윈도우 서비스에 등록한다.
          • net start MongoDB
        • 만들어진 배치 파일을 관리자모드로 실행시킨다.
          • C#에서 구현할 때 관리자 모드로 실행하는 방법 조사할 것. ( TODO )
    • 종료하기
      • mongo.exe shell program을 실행하여 다음 과정으로 종료한다.
        1. [use admin] 명령으로 DB를 admin으로 변경 )
        2. [db.shutdonwServer()] 메쏘드를 입력하여 실행
        3. 서버 종료 메시지 확인
      • 윈도우 서비스 명령으로 종료하기
        • 관리자 권한으로 명령 프롬프트를 실행한다.
        • 명령 픔롬프트 창에서 [mongod --remove]를 입력한다.
    • 참고: 윈도우즈 서비스 운영
      • 서비스 시작: net start 서비스명
      • 서비스 종료: net stop 서비스명
      • 서비스 삭제: sc delete 서비스명
  • MongoDB 서버 옵션 설정하기
    • 서버 실행하기
      • mongod --dbpath D:\Working\MongoDB\Server_JServer\mongodb_ver4.2.1\data --port 13100 --bind_ip_all --auth --logpath  D:\Working\MongoDB\Server_JServer\mongodb_ver4.2.1\log\mongod.log
        • option 종류 확인하기: >mongod --help
          1. --dbpath: DB Data 저장 폴더 지정
          2. --port: port 지정
          3. --bind_ip_all: IP "0.0.0.0"을 의미하여 모든 IP를 허용하기 위해 지정
          4. --auth: 보안을 위해 사용자 / 패스워드 입력을 유도. 해당 옵션을 사용하는 경우 client에서 사용자 정보를 입력해야 admin 권한의 작업이 가능하다.
            1. Authorization Enable.
            2. show dbs 커멘드는 Local, Remote 모두 가능.
            3. db.shutdownServer() 실행은 Local에서 가능, Remote에서 불가.
          5. --logpath: 기본적으로 로그는 standard output( command line )에 표시되지만, 이 옵션을 설정하면 지정된 파일에 저장된다. 같은 파일이 있다면 기존 파일을 백업된다. 
        • Authorization 옵션 설정시 서버에서 로그 예제
          1. Disable 설정
          2. Enable 설정
        • Port no.는 기본적으로 27017로 설정되어 있으나 보편적으로 사용하는 값이므로 사고의 위험이 있어 Jaguar에서 사용하는 값에 근접한 13100으로 설정한다.
    • Configuration File 이용하기
      • mongod option설정 대신에 config file을 로딩하면 hold 상태가 되어 재 확인 필요함. 
      • → 파일에 필요한 항목을 추가하여 MongoDB Demon 실생시 --config 옵션으로 사용할 수 있도록 함.
  • MongoDB 클라이언트 사용하기
    • 서버와 같은 방법으로 다운받은 zip 파일을 압축해제하고, 제어판>시스템>고급시스템설정보기 윈도우에서 환경변수의 path를 추가한다.
      •  
    • 사용자와 패스워드, 역할 등록하기
      • 방법: MongoDB Demon 실행 명령 입력할 때 보안 옵션을 생략하면 사용자 권한과 무관하게 등록할 수 있다.
    • 클라이언트 실행하기  
      • Local Server: mongo --port 13100 -u username
      • Remote Server: mongo --port 13100 -u username --host 192.168.0.40
    • MongoDB Compass Community 사용하기
      • Community msi 파일을 다운받아 설치한다. 
      • 임의로 생성한 DB test1과 test2를 볼 수 있고, test2의 collection test2와 test_collect1을 볼 수 있다.
      • Collection 선택 시 우측에 List 혹은 Table Type으로 Document를 확인할 수 있다.
        • _id는 Collection 생성시 자동으로 부여되는 고유한 값이다.  
        • Document에서 key가 4개이며 field가 없는 것은 abc / cde / abf / zzz Field가 실시간으로 생성이 가능하다는 것을 나타내며 이것은 RDMS와 가장 큰 차이점으로 볼 수 있다.
  • DB Manipulation Guide
  • C# 연동 드라이버, Nuget 이용하여 설치 ( ver2.9.3 )




댓글

이 블로그의 인기 게시물

[QT] 5.15.2 버전 다운로드와 설치하기

1. 버전 5.15.2를 설치하기 위해 QT 다운로드 사이트 에 접속하였으나 실행파일이 존재하지 않는다. 가장 최신의 실행파일은 ver5.14.2 이므로 일단 이것을 다운받아서 설치한다. ( 참고 사이트 - https://sloth-code.tistory.com/6#comment16833678 ) 다운 사이트  - https://bio.nic.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/5.14/5.14.2/  ------------- 버전이 맞지 않으니 재 설치한다. 2.  5.15.2 버전에는 실행파일 exe가 없고 zip과 tar.gz 파일만 존재한다. ( https://bio.nic.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/5.15/5.15.2/ ) OFFLINE_README.txt를 읽어보면 5.15 버전부터는 오픈 소스 오프라인 설치를 이용할 수 없다고 한다. 오프라인 설치를 원할 경우 다음 사이트 참조하라고 한다.  ( 원본:  The Qt Company offering changes, open source offline installers are not available any more since Qt 5.15. Read more about offering changes in the https://www.qt.io/blog/qt-offering-changes-2020 blog. If you need offline installers, please consider our new Qt for Small Business offering: https://www.qt.io/blog/available-now-qt-for-small-businesses ) - https://www.qt.io/blog/available-now-qt-for-small-businesses ...

[ WorkSpace ] 라스트마일 딜리버리

'걸음마 단계' 배달로봇...2030년 50조원 규모로 커진다 기사 요약 ( 2021.6.30 ) 국토교통부는 '제1차 자율주행 교통물류 기본게획(2021 ~ 2025)'을 6월 29일 발표했으며 그 내용은 다음과 같다. 전국 고속도로와 시도별 주요 거점에서 자율주행 사용서비를 시작하기 위해 레벨4 수준의 자율 주행 대중 교통과 공유서비스를 개발, 경로/배차 최적화 등 운영 기술을 고도화할 방침임. 여객, 화물 분야에도 활성화, 화물차 군집주행 차량 및 운영시스템을 고도화 도심에서의 라스트마일 배송을 위한 소형택배차량, 로봇/드론 연계 기술 개발할 방침임. 자율 주행 로봇 개발 현황: 아래와 같은 특성은 있지만 원천 기술 개발 확보 해야 함. 우아한 형제들: 목표는 라스트마일시장 석권, 현대차/기아와 로봇개발 협업, 다양한 구조의 건물에서 층간 이동이 가능, 결제 수단 기능 탑재, 건대 및 광교에서 시범 운행중. 실외용. 배달로봇 딜리드라이브. KT: AI로봇 우편배송 서비스, 건물내에서 엘리베이터 탑승하여 우편물 배송 목적지로 이동. LG유프러스 + 만도: 자율주행 순찰 로봇 골리, LG 유플러스의 5G통신, MEC 인프라, 원격관제 솔루션 시스템 탑재, 실외용으로 순찰을 돌며 주야간 치안 사각지대를 탐지하여 분석하여 시흥시 통합 관제 플랫폼으로 실시간 전송.      ※ 라스트마일 - Last-mile delivery 시장: 물류/유통업계가 주목하는 것은 데이터. - 배송 효율화가 요구된다. 라스트 마일은 상품이 소비자에게 최종 배송되는 마지막 과정을 의미한다.  - 롯데마트는 릴레이 배송 서비스를 잠실점에서 시범 운행중이며, 릴레이 배송은 마지막 현관까지 구간 라스트마일 배송을 하는 플렉서를 별도로 배치했다. 플렉서는 본인 담당 공간에서 기다리다가 트럭이 오면 물건을 꺼내 최종 목적지까지 오토바이, 도보 등으로 배달한다. 배송기사와 플렉서의 역할을 분리하여 배달 건수를 늘릴수 있는 방식이다.  - 대형마트, 편의...

[NEW-JOB] 시작하기

 업종의 변환이란,, 하던 일과 사람과 환경이 달라지는 것, 가장 크게는 소속된 업황이 달라지는 것. 업의 변환이 시작된지 3주가 지났다. ( 게다가 이글을 완성하지 못하고 한달이 지났다. ) 생생한 지금까지의 느낌을 적어보려고 한다. 1. 빌드 환경의 변화 - 운영 OS는 윈도우와 리눅스를 사용하고 각 OS에 따라 빌드 환경은 정해져 있었다. 지금은? 오픈 소스를 이용하게 되는 현업의 빌드 환경은 멀티 플랫폼에서 개발가능하고 멀티 플랫폼에서 사용가능한 구조로 만들어져 있다. 오픈 소스를 사용하는 이상 이러한 환경은 그대로 유지해야 한다. 멀티 플랫폼이 가능한 소스 구성은 현재 소프트웨어 산업계의 흐름이기도 하다. 결국 언젠가는 가야 하는 것이다.  2. 업무 환경의 변화 - 5년 신건물에서 10년 구건물로 이전하였으니 화장실은 대만 화장실 냄새가 난다. 습한 기운이 엄습해있다. 사무실은 한달후 청소하여 자리를 잡았으나 여기 또한 습하고 공기 순환되지 않아 9월 28일 현재 선풍기를 돌리는 중이다. - 랩실은 없고, 컴퓨터만 있고. - 오픈 소스분석으로 인해 나의 영역 밖에 있던 기술들을 하나씩 학습하고 있으며 기회와 지루함이 공존한다.  3. 소속된 조직의 변화 - 10여명의 단촐한 인력을 탈피하고 타 회사 직원들과 3주째 같이 일하고 있는 더 단촐하게 일하고 있다. 협업하는 인력은 20킬로 이상의 다른 동네에 있고, 라인이 포함된 신규 건물에 한달내에 이사하게 된다. ( 타 회사 직원들은 이사를 갔고, 내 조직의 인원들로 대체되었다. )  - 회사를 운영하는데에 있어 필요한 인력이 있는데 그들은 지금 흩어져 있거나 모집중이다. 또한 여러 조직에 몸담고 있는 사람들도 있다.  4. 내가 속한 산업의 변화 - 반도체와 디바이스에서 자동차 센서와 자율 주행으로 업종이 변화되었다. 센서와 인지, 모터 제어 등은 전전 산업에서도 종종 사용하던 분야였지만 그때와는 많은 것이 변화되었고 전 산업의 기술과 접목되었다고 볼 수 있...