mongoose.connect ? connect-mongo ? mongoStore ?

mongoose.connect


mongoose는 mongoose.connect() method 를 통해 mongoDB에 접속할 수 있다.

Simple Method
  • mongoose.connect('mongodb://localhost/myapp');
이는 local로 mongoDB 기본포트(27017)  에서

'myapp' 이라는 데이터베이스에 접속하는 것을 말한다.


parameter를 더 추가해서 접속 할 수 도 있다.

  • mongoose.connect('mongodb://username:password@host:port/database?options...');
  • mongoose.connect(uri,options); 

Connection String URI Format 
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]


(1) mongodb:// 
 mongodb 접속에 필요한 prefix
(2) username:password@ (Optional)
 이것이 입력된다면, client이 이 정보를 가지고 특정한 데이터베이스에 접속을 시도한다.
(3) host1
 URI에서 반드시 필요한 요소이다. host를 지정한다.
(4) /database (Optional)
  authenticate 할 database 이름을 입력한다.
  위에 입력된 username과 password 를 통해 특정 database에 접속한다.

mongoose.connect() method는 Mongoose this 를 반환한다.
mongoose.connect() 가 성공하면 , 
mongoose.connection 이란 property가 open connection을 포함하게 된다.

활용 예 ) 

var db = mongoose.connect('mongodb://localhost/myapp'); // mongoose this 반환.

app.use(session({
    secret: 'SECRET',
    store: new mongoStore({
        db: db.connection.db,
        collection: 'sessions',
        maxAge: 300000    })
}));

connect-mongo


connect-mongo 란 ?
'connect-mongo' 는 mongoDB session store을 일컫는다.

connect-mongo library to register the MongoDB connection as the persistent store for the authenticated sessions.

connect-mongo의 사용 예제
var session = require('express-session');
var MongoStore = require('connect-mongo')(session);

app.use(session({
    secret:'foo',
    store:new MongoStore(options);
}));