몽고DB(MongoDB) 관리 프로그램, Robomongo

    일반적으로 RDB 같은 경우, 다양한 접속 및 관리툴들을 지원해준다 대표적으로 Quest 사의 토드(Toad)와 같은 프로그램이 있는데 이를 통해 현재 DB에 어떤 데이터가 들어가 있는지 확인 할 수 있으며 데이터를 쉽게 핸들링 할 수도 있다. 몽고DB도 이와같은 여러가지 관리툴이 있는데 대표적으로 Robomongo라는 관리툴이 존재한다.

     

    대표적인 DB 관리 툴인 토드

    https://www.quest.com/products/toad-for-oracle/

     

    이번 포스팅 주제인 Robomongo 사이트에 들어가면, Studio 3T라는 프로그램과 Robo 3T라는 프로그램이 있는데 Robo 3T를 선택한다. 

     

    설치 단계

    https://robomongo.org/download

     

     

    자신에 맞는 OS와 프로그램을 입맛에 맞게 설치 한다. 필자는 zip보다 exe 형태의 Step by Step 설치를 선호하기 때문에 여기서는 Installer를 이용한 프로그램 설치 방식을 설명하도록 한다

     

     

    모든 스텝들을 고민하지 말고, Next, 동의, 설치 등을 눌러서 다음 스텝으로 넘어가며 설치를 완료 한다.

     

     

    실행 단계

     

    설치 완료 후 Robomongo를 실행하면 위와 같이 라이센스 동의서가 뜨게 되는데 고민하지 말고, I agree 체크 후 Next를 선택한다.

     

     

    이메일 알려주면 업데이트 정보 등을 알려주겠다 대충 이말인데 개인정보를 팔든, 팔지 않든 알아서 하고 넘어가(Finish)도록 하자

     

     

    이 화면이 나왔다는 것은 이제 준비과정은 모두 끝났다는 의미이며 이제부터 접속을 시도해도록 한다.

     

    접속 단계

     

    MongoDB Connections 라는 프로그램을 자세히 보면, Create, edit, remove, clone등과 같은 단어에 링크가 달려 있는 것을 알 수 있다. 뭐 이래 허접해?라는 생각은 잠시 접어두고, Create를 클릭하도록 하자

     

     

    그러면 편하게 localhost와 27017 포트, 즉 몽고DB 설치 및 실행 기본값으로 세팅이 되어 있다는 것을 알 수 있다. 모든 설정이 되어 있으니 여기서 Test를 선택하여 잘 연결되는지 확인해보자. (물론 이 테스트를 하기 이전에 당연히 MongoDB를 서비스로 구동하거나, Daemon을 실행해야 한다는 것은 다들 잘 알고 있을 것이다)

     

     

    Test를 실행하면 DB가 이와같이 available 상태라고 나오며 Test가 정상적으로 완료된 것을 알 수 있다. 

     

     

    이상이 없는 Connection 값이니 Name을 설정 후, Save를 눌러서 현재 값을 저장한다

     

     

    저장된 설정값을 지정하고, Connect 버튼을 클릭한다.

     

     

    왼쪽에 MyLocal이라는 이름과 함께, System 폴더 아이콘과 config라는 DB 모양의 아이콘이 생성된 것을 볼 수 있다. 

     

     

    데이터 베이스 생성

    우리가 config라는 데이터베이스를 건드릴 것이 아니기 때문에 원하는 데이터베이스를 만들어보고자 한다. 필자는 지금 몽고 DB로 간단한 채팅을 구현할 계획이기 때문에 데이터베이스 명칭을 chat으로 만들고자 한다.

     

     

    설정에 마우스 우 클릭을 하면 위와 같은 메뉴창이 뜨게 되는데 "Create Database"를 선택한다

     

     

    그리고, chat이라고 입력 한 후 Create를 실행한다

     

     

     

    그러면 위와 같이 매우 간단하게 DB가 생성되어 있고 하위 폴더명으로 Collections, Functions, Users라는 3개의 폴더가 자동적으로 생성이 된다. 

     

     

    콜렉션(Collection) 생성

    Collections이라는 것은 우리가 흔히 말하는 DB에서 테이블과 유사한 개념이라 볼 수 있다. 단지 차이점은 몽고DB는 스키마를 정의하지 않는다는 것이다.

     

     

    만든 DB 밑에 Collection을 우클릭하면 위와 같은 작은 메뉴가 뜨는데 "Create Collection..."를 선택한다.

     

     

    Advanced는 자세한 콜렉션을 설정하는 부분인데 우리는 일단 이 부분을 신경 쓰지 말고, 콜렉션을 생성(Create)한다

     

     

    콜렉션명을 입력 후, Create를 하였다면 콜렉션이 이와 같이 매우 쉽게 만들어진 것을 알 수 있다.

     

    데이터 입력(Insert)

    몽고DB는 일반적인 DB의 Row(행) 개념과는 다르게 문서 개념이라는 것을 잘 알고 있을 것이다. 그러다보니 Insert 메뉴도 아래와 같이 Insert Document로 되어 있다.

     

     

    Insert Document를 선택하면, 커다란 Insert 창이 실행되면서 JSON 형태의 구조를 입력하는 부분이 존재한다.

     

     

    JSON 구조에 맞게 데이터를 입력한다. 일반적으로 JSON의 Key 부분은 더블쿼테이션 혹은 쿼테이션으로 감싸지 않으며, Value 부분은 형태에 따라 감싸거나 감싸지 않는다(정수, Double 형 등)

     

     

    JSON데이터를 모두 입력하면 왼쪽 하단에 존재하는 Validate를 클릭하여 해당 JSON이 입력될 수 있는 데이터인지 검증한다

     

     

    모든 것이 완료되었으면, Save를 선택하여 저장(Insert)한다

     

     

    저장이 완료 되었으면, user 콜렉션을 선택해보자. 다음과 같이 데이터가 정상적으로 저장이 된 것을 확인 할 수 있다. 

     

    데이터 조회(Select)

    사실 데이터 입력과 같은 경우는 테스트 단계 정도나 쓸 뿐이고, 오히려 조회와 같은 기능을 훨씬 많이 사용할 것이다.

     

     

    위와같이 db.getCollection('user').find({name:'홍길동1'}) 이라고 이름을 오타를 내어 실행을 시켜보았다. 실행은 메뉴 밑에 녹색 삼각형을 실행하면 된다.

     

    그러면 예상대로 0 records를 찾았다고 나온다

     

    이제 오타를 내지 않고 정상적으로 name:홍길동으로 변경하여 다시 실행을 해본다

     


    그러면 아래에 다음과 같이 결과가 정상적으로 나온다는 것을 알 수 있다. 몽고DB는 매우 직관적이고 쉬운 API를 제공하는 것이다. 위 명령어는 Java와 같은 프로그램에서 몽고DB를 Select 할때도 사용이 되기 때문에 명령어만 알게 되면 몽고DB를 핸들링 하는데 아무런 문제가 없을 것이다.

     

    다음은 Java 프로그램을 활용하여 몽고DB의 데이터 접근하는 것을 포스팅 해보고자 한다.

     


    연관 포스팅

     

    몽고DB(MongoDB) 설치

     

    댓글

    Designed by JB FACTORY