node package manager

koa-session-mongodb

koajs sessions backed by mongodb

koa-session-mongodb

MongoDB backed session middleware for Koa.js

Installation

$ npm install koa-session-mongodb

Example

View counter example:

var session = require('koa-session-mongodb');
var mongo = require('mongodb').MongoClient;
var koa = require('koa');
 
mongo.connect(uri, function(err, db){
  if (err) throw err;
 
  var app = koa();
  app.keys = ['some secret'];
  app.use(session({ collection: db.collection('session') }));
 
  app.use(function *(){
    var n = this.session.views || 0;
    this.session.views = ++n;
    this.body = n + ' views';
  })
 
  app.listen(3000);
  console.log('listening on port 3000');
})

Semantics

This module provides "guest" sessions, meaning any visitor will have a session, authenticated or not. If a session is new a Set-Cookie will be produced regardless of populating the session.

API

Options

The cookie name is controlled by the key option, which defaults to "sid". All other options are passed to ctx.cookies.get() and ctx.cookies.set() allowing you to control security, domain, path, and signing among other settings.

Session#isNew

Returns true if the session is new.

Destroying a session

To destroy a session simply set it to null:

this.session = null;

License

MIT