undefined

bokuweb.me

connect-mongoでセッションの管理を行う

express-sessionでのセッション管理はメモリリークなどの問題よりproductionでは非推奨とのことなのでconnect-mongoでセッション管理をしてみた。

connect-mongomongooseをインストール。

npm i --save connect-mongo
npm i --save mongoose

使い方。簡単。

session        = require 'express-session'
MongoStore     = require('connect-mongo') session
mongoose       = require 'mongoose'
 
mongoose.connect 'mongodb://localhost:port/database'
app.use session
  secret: 'keyboard cat'
  resave: false
  saveUninitialized: true
  cookie: { maxAge: 2 * 60 * 60 * 1000 }
  store: new MongoStore { mongooseConnection: mongoose.connection }

openshiftの場合は以下のようにするらしい。少しはまった。

mongoose.connect process.env.OPENSHIFT_MONGODB_DB_URL + process.env.OPENSHIFT_APP_NAME