[Node.js] mongoDB 소개 및 초기설정

Posted by 신희준 on November 10, 2017



2017 - 11 - 10 (금)

  • MongoDB 소개
  • MongoDB 초기설정
  • express에서 mongoDB 사용하기


  • MongoDB 소개


    MongoDB 는 대표적인 NoSQL 의 문서형 데이터베이스이다. 기존에 사용하던 관계형 데이터베이스 (MySQL, Oracle DB 의 형태와는 조금 다르다.)

    {
            "_id" : ObjectId("5a044852b1768c2bcc4017ec"),
            "id" : "shm",
            "password" : "1234",
            "name" : "신희준",
            "tel" : "01086957242",
            "__v" : 0
    }
    

    위와 같은 형태처럼 저장이 된다. 마치 JSON 형식과도 같다. 속성 : 값 쌍으로된 데이터오브젝트를 저장하는데 딱히 스키마를 정의하지 않아도 되며 형태가 엄격히 구조화 되어있지는 않은 것 같다.

    이러한 MongoDB 는 특히 최근 빅데이터가 대두화 되면서 기존의 DB의 대량 리소스 사용의 단점을 커버할 수 있다. NoSQL(Not only SQL)는 대용량 트래픽을 감당할 수 있기 때문이다.



    MongoDB 초기 설정


    • mongoDB 설치



    1 . 우선 mongoDB 공식페이지 에서 접속 후 Community 탭에 들어가 해당 OS 에 맞는 설치파일을 다운로드 한다.

    2 . 다운로드가 완료 되었다면 라이센스 동의 후 complete 버튼을 클릭하여 모든 버전을 설치한다. custom 으로 할 경우 자신이 골라서 설치할 수 있다.(고수만)

    3 . 다운로드가 완료되었다면 시스템 변수를 편집한다 ( 환경변수 ) path에 아래의 경로를 추가한다.

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



    4 . 환경변수 설정 후 커맨드 창에 아래 경로로 폴더를 생성한다.

    C:\Users\heejun shin>md database
    C:\Users\heejun shin>cd database
    C:\Users\heejun shin\database>md local
    C:\Users\heejun shin\database>cd local
    



    5 . 데이터베이스를 실행한다. (커맨드 창을 끄면 몽고DB 실행이 종료되므로 사용시 켜놓고 있어야 한다.)

    C:\Users\heejun shin\database\local>mongod --dbpath .
    



    6 . 셸 상태로 만든다. (명령을 받을준비를 하도록 함)


    C:\Users\heejun shin>mongo
    



    7 . 데이터베이스를 지정한다.


    > use local  //이전에 database 폴더안에 local폴더 생성
    



    해당 작업을 완료하면 데이터베이스 초기설정이 마무리 된다.



    Express + MongoDB


    express 에서 mongoDB 를 사용하고자 해당 패키지를 설치해야한다.


    $ npm install mongodb --save
    


    mongoDB 연결

    //몽고 모듈 저장
    var Mongo = require('mongodb').MongoClient;
    // DB 객체를 위한 변수
    var database;
    //DB 연결
    function connectDB(){
      var databaseUrl = 'mongodb://localhost:27017/local';
      Mongo.connect(databaseUrl, function(err, db){
        if(err)throw err;
        database = db;
      })
    }
    //DB 연결
    connectDB();
    

    해당작업을 완료하면 Node 서버의 express 에서 몽고 DB를 사용할 수 있다.