-
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 를 다뤄보자.
(끝)
(현재 폴더 구조)
'MeanStack (deprecated)' 카테고리의 다른 글
11장 mongoose (몽구스) 를 이용한 MongoDB 스키마 생성, CRUD 작업 (2) (1) 2016.06.16 10장 mongoose (몽구스) 를 이용한 MongoDB 스키마 생성, CRUD 작업 (1) (4) 2016.06.16 8장 MeanStack 의 또 다른 조각 MongoDB 를 알아보자 (0) 2016.06.13 7장 express 를 활용한 session 처리 (2) 2016.06.12 6장 express 정적파일 컨트롤 + 뷰시스템 (ejs) (0) 2016.06.10