데이터베이스/MongoDB and Mongoose

[Mongo DB] 몽고 DB 기초 정리

훈츠 2020. 6. 19. 18:22
반응형

 

 

몽고 DB 기초 정리 대해 설명드립니다. 

 

MONGODB

 

 

 

앱 개발 하면서 SQLITE 관계형 데이터베이스를 다뤄본 경험은 있지만,  NoSQL Not only SQL 즉 관계형 DB가 아닌 Document 타입의 몽고DB 에 관심이 생겨 공부해보고 기록 및 공유를 위하여 글을 적습니다. 

 


목차

  • 몽고 DB 설치 및 세팅 
  • 몽고 DB Local 에서 Running Test 
  • 몽고 DB 관리 툴 : MongoDBCompassCommunity AND ROBO Mongo 
  • 몽고 DB AND Node JS Express 통신 해보기 

몽고 DB 설치 및 세팅 

먼저 몽고 DB를 사용하기 위해서는 몽고DB 를 설치 하셔야 합니다. 물론 웹 클라우드 버전을 이용하시면 설치가 필요하진 않지만, 서버 설치형으로 몽고 DB를 돌리기 위해서는 몽고 DB를 설치 하셔야 합니다. 윈도우 버전 설치는 어려운게 없습니다. 

 

몽고 DB 다운 및 설치방법 

 

사이트 : https://www.mongodb.com/

 

The most popular database for modern apps

We're the creators of MongoDB, the most popular database for modern apps, and MongoDB Atlas, the global cloud database on AWS, Azure, and GCP. Easily organize, use, and enrich data — in real time, anywhere.

www.mongodb.com

위의 사이트로 이동 하시면, 회원 가입하는 부분이 있는데, 서버 설치형만 이용 하시려면 굳이 회원가입 하지 않으셔도 됩니다. 전 웹 클라우드 버전도 테스트 해보고 싶어서 가입해서 테스트 해보았습니다.

웹 클라우드 버전은 이후에 포스팅 하도록 하겠습니다. 

 

 

https://www.mongodb.com/try/download/enterprise

 

MongoDB Download Center - Community & Enterprise Servers

Download MongoDB’s community or enterprise versions here. Plus, do more with downloads for MongoDB Compass, Ops Manager, Charts and BI Connector.

www.mongodb.com

 

위의 링크로 가시면 아래와 같이 해당 하는 OS 버전에 맞는 설치형 파일을 다운 받습니다. 전 WINDOWS를 사용하는 관계로 WINDOWS 버전을 설치 하였습니다. 

위 DOWNLoad 버튼을 클릭합니다.

설치형 안내에 따라 그대로 Next 클릭하면서 설치를 완료 합니다. 설치 도중

MongoDBCompassCommunity설치 할것인지 물어보는곳에서 클릭해서 같이 설치 합니다. 

 

설치가 완료 되면 몽고 DB 실행 패스를 등록 합니다. 

 시스템 환경변수에 몽고 DB 실행 패스를 등록 합니다. 매번 몽고DB가  설치된 폴더로 이동하지 않고 바로 실행 시키기 위함입니다. 

 

 


환경변수 등록법 

1. 아래의 설치 경로를 복사합니다. (PC 환경에 따라 다를수 있습니다.)

C:\Program Files\MongoDB\Server\4.2\bin 

 

2. 다음 경로로 이동해서 복사한 경로를 새로 붙여 넣습니다. 

  제어판 -> 시스템 (System) -> About -> 시스템인포 (System info) -> Advanced system settings

  -> 환경변수 (Enviroment Variables) -> 시스템변수(System variable) -> Path -> New

  -> 링크 붙여넣기 

 

 


몽고 DB Local 에서 Running Test 

위와 같이 설치하고, 환경변수 까지 등록해다면 실행시켜 보아야겠죠? 실행 시키기전 몽고 DB에 저장 영역을 변경 합니다. C 드라이브는 윈도우 OS 영역이니, D 혹은 기타 다른 드라이브 영역에 설정하는게 좋겠죠? 다음은 저장될 영역을 변경하는 방법입니다. 

 

저장 영역 변경법

1. C:\Program Files\MongoDB\Server\4.2\bin 해당 폴더안에 mongod.cfg 를 열고 변경 하는 방법이 있습니다. 

   아래에 storage : dbPath : 뒤에 항목을 수정하시면 됩니다. 시스템 로그 패스 역시 마찬가지로 수정 합니다. 

 

2. 두번째 방법은 윈도우 +R 을 누르고, CMD 를 입력후 다음 입력창을 치면 됩니다. 

     mongod --dbpath 변경할영역  엔터

     참고로 mongod-h  헬프 파일에서 도움말을 볼수 있습니다. 

 


 

몽고 DB 실행 방법 

1. 하나의 CMD 창을 열고, mongod 라고 입력후 엔터를 입력 합니다.

위와 같이 리스닝 하고 있습니다. port 27017

2. 또하나의 CMD 창을 열고, mongo 라고 입력후 엔터를 입력 합니다. 

위와같이 나오면 실행이 잘 된것입니다.

3. 몽고 DB에 콜렉션에 다음 명령어를 통해 DB를 확인하고 데이터를 만들수 있습니다. 

   - show dbs :  db의 항목을 봅니다. 

   - use local : 사용하려는 db를 선택 합니다. 

   - db.collection명.insert({ JSON 파일 } ) : 데이터를 입력합니다

 

 

자세한 사항은 Mongo DB Documentation 참조하세요. 

 

 

 


몽고 DB 관리 툴 : MongoDBCompassCommunity AND ROBO Mongo 

CMD 창에서 DB를 선택하고, 값을 입력해 보았다면 이번에는 몽고DB GUI 툴인

MongoDBCompassCommunicty 를 가지고 제어를 해보도록 하겠습니다. 사용법은 간단 합니다. 설명서를 보지 않더라도 어렵지 않게 사용 할수가 있었습니다. 다음 두가지 정도만 확인 하시면 됩니다. 

 

MongoDBCompassCommunity 사용법 

1. 설치된 몽고콤파스 아이콘을 클릭하여, 프로그램을 오픈 하세요. 

 


 

 

2. 위와 같이 나오면 초기 세팅이 localhost 이기 때문에 몽고DB를 Mongod로 실행 시켜놓았다면 CONNET 버튼을 누르면 바로 몽고 DB 와 연결이 됩니다. 

 

 


 

3. 위와 같이 나오면 해당하는 DB를 누르고, 수정 혹은 추가 하고 싶은 콜렉션을 클릭 합니다. 

 

4. 위와 같이 이미 만들어져 있는 콜렉션안에 데이터를 확인 및 추가, 삭제, 수정이 가능합니다. 

 

 


ROBO Mongo 사용법 

1. 사이트 : https://robomongo.org/

 

Robo 3T | Free, open-source MongoDB GUI (formerly Robomongo)

Read by Dmitry Schetnikovich

robomongo.org

 

2. MongoDBCompass 와 같은 역활을 합니다만 조금 더많은 옵션을 제공 해줍니다. 

 

3. 연결 눌러서 기본적인 동작 자체는 동일합니다. 하지만 위에도 스키마를 만드는 기능 외에도 기본 콤파스 기능보다는 많아 보이는거 확인 되시죠? 한번 설치 해서 이용 해보십시요. 

 


몽고 DB AND Node JS Express 통신 해보기 

이제 CMD 창 혹은 GUI 가 아닌, 노드 JS 익스프레스 서버와 통신을 해보도록 하겠습니다. 클라이언트 단은 포스트맨을 이용해서 테스트 했습니다. 하나씩 따라 해보세요. 

 


통신 방법 

1. 한개의 CMD창에 mogod 를 입력 해서, Mongo DB 데몬툴을 실행 시킵니다. 

2. 비주얼 스튜디오 CODE 혹은 사용 하시는 IDE 를 OPEN 합니다. 

3. 몽고 DB GUIDES 에 나와있는 코드를 그대로 활용하여 서버와 Connection 테스트를 합니다. 

   사이트 : https://docs.mongodb.com/guides/server/drivers/

 

Connect to MongoDB

Note You can create a URI string for your session in MongoDB Guides by copying and pasting your Atlas connection string in the form below. Once you copy the string here, any relevant code examples within the MongoDB Guides will be populated with a URI stri

docs.mongodb.com

서버와 연결이 성공적으로 이루어 졌습니다.

 


 

4. 이제 노드 JS Express 통신 코드를 추가로 입력 합니다. 

익스프레스 서버와 몽고DB 서버와 성공적으로 연결 성공

축하 드립니다. 노드 JS 익스프레스 서버와 몽고 DB가 성공적으로 연결되었습니다. 

 


코드 공유 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//Hoons Blog---https://rain2002kr.tistory.com------------------------------------------------------------------코드///
 
const MongoClient = require('mongodb').MongoClient;
const assert = require('assert');
const express = require('express')
const server = express();
const PORT = 3000;
 
// Connection URL
const url = 'mongodb://localhost:27017/';
 
// Use connect method to connect to the Server
server.listen(PORT, (err)=> { 
    if(err){
        console.log('express server is error') }
    else{
        console.log('express server is running'
        MongoClient.connect(url, function(err, client) {
            assert.equal(null, err);
            if(err){
                console.log('error') }
            else{
                console.log('server is connected sucessfully')
              }
              client.close();
          });
    }
})
 
cs

감사합니다. 오탈자 및 내용의 오류를 발견 하시면 댓글로 알려주세요. 

 

 

 

 

 

 

반응형