ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 9장 mongoose (몽구스) 를 이용한 Mongodb 연결
    MeanStack (deprecated) 2016. 6. 14. 23:41



    Mongoose (몽구스) 는 노드 모듈이며 개발자에게 객체를 모델링하고 객체를 MongoDB 다큐먼트로 저장하는

    능력을 제공한다. 기본적으로 MongoDB는 스키마가 없는 데이터베이스지만 몽구스는 몽구스 모델을 사용할 때

    엄격하고 느슨한 스키마 접근 방법 양쪽을 모두 즐기는 기회를 제공한다.


    자 먼저 mongoose 를 설치하자 .


    {
        "name" : "test",
        "version" : "1.0.0",
        "description" : "",
        "main" : "index.js",
        "dependencies" : {
            "body-parser" : "^1.15.1",
            "compression" : "^1.6.2",
            "ejs" : "~1.0.0",
            "express" : "^4.13.4",
            "express-session" : "^1.13.0",
            "forever" : "^0.15.2",
            "method-override" : "^2.3.6",
            "mongoose" : "^4.5.0",
            "morgan" : "^1.7.0"
       },
       "devDependencies" : {
         "color" : "latest"
       },
       "scripts" : {
        "test" : "echp \"Error: no test specified\" && exit 1"
       },
       "author" : "",
       "license" : "ISC"
    
    }
    


    (후딱 설치하였다)


    MongoDB에 연결을 하기 위해서는 MongoDB URL을 사용할 필요가 있다.

    MongoDB URL 은 일반적으로 다음처럼 구성된다. 


    mongodb://username:password@hostname:port/database  


    딱 보면 어디에 무엇을 넣어야 할 지 바로 감이 올 것이다. username:password 는 말 그대로 mongodb에 

    접속할 때 쓸 username 과 password 를 적고 hostname:port 는 접속할 주소를 적고 마지막으로 database

    는 사용할 database 명을 적는다. 


    지금은 로컬 상황에서 사용할 것 이기 때문에 mongodb://localhost/database 로 접속하면 땡 이다.

    접속하기 위해서는 기본적으로 


    var uri = 'mongodb://localhost/database' ;
    var db = require('mongoose').connect(uri);
    


    이런 식으로 적으면 된다. 자 그럼 바로 express_config.js 에 적어보자 !!  가 아니다. 

    지금은 실제 Application 을 구축하고 있기 때문에 db 주소역시 환경 구성 파일에 넣어버리자.

    config/env/ 폴더로 가서 development.js 의 코드를 수정하자. 


    module.exports = {
        db : 'mongodb://localhost/database',
        sessionSecret: 'thisissessionSecret'
    }
    
    


    환경 구성파일에 db 주소를 적어 줬다면 이제 몽구스의 환경구성파일도 만들어 주자.

    config 폴더로 가서 mongoose.js 파일을 만든 뒤 코드를 적자. 


    var config = require('./config'), 
         mongoose = require('mongoose');
    
    module.exports = function() {
       var db = mongoose.connect(config.db);
    
       return db;
    }
    
    


    config 를 require 하고 몽구스에서 db 를 연결한 객체를 리턴 시킨다.

    이젠 마지막으로 StartApp.js 파일을 수정하자. 


    process.env.NODE_ENV = process.env.NODE_ENV || 'development';
    
    var express = require('./config/express_config'),
        mongoose = require('./config/mongoose');
    
    
    var db = mongoose();
    var app = express();
    app.listen(3000);
    module.exports = app;
    
    console.log('Server running at localhost');
    


    mongoose 환경 구성파일을 require 시키고 db에 mongoose 객체를 할당받는다.

    자 다 되었으면 1장에서 설치한 mongodb 를 실행하기위해 cmd 창에서 mongod 를 입력하여 실행하고 

    StartApp 을 실행시켜보자. 



    위 스크린샷에 보이는 것 처럼 1 connection now open 보이며 DB 접속이 확인 되어야 한다. 


    이번장은 간단하게 mongoose 를 이용한 db 접속을 알아보았다.

    다음 장에는 몽구스 스키마를 만들고 실제로 express 와 연동하여 데이터의 CRUD 를 다뤄보자. 


    (끝)


    (현재 폴더 구조)


    댓글