NAME

Catalyst::Plugin::Session::Store::MongoDB - MongoDB session store for Catalyst

SYNOPSIS

In your MyApp.pm:

use Catalyst qw/
  Session
  Session::Store::MongoDB
  Session::State::Cookie # or similar
/;

and in your MyApp.conf:

<Plugin::Session>
  <client_options>             # if empty, lets MongoDB::MongoClient
    host mongodb://foo:27017   #   use its own defaults
    timeout 10000              # if unspecified, defaults to
    ...                        #   { host => hostname, port => port }
  </client_options>            #   for compatibility with previous versions
  dbname test                  # defaults to catalyst
  collectionname s2            # defaults to session
</Plugin::Session>

Then you can use it as usual:

$c->session->{foo} = 'bar'; # will be saved

DESCRIPTION

Catalyst::Plugin::Session::Store::MongoDB is a session storage plugin using MongoDB (http://www.mongodb.org) as its backend.

CONFIGURATION

client_options

Options passed to MongoDB::MongoClient->new(). If a reference to an empty hash is provided, lets MongoDB::MongoClient use its own defaults.

If left unspecified, defaults to the following for compatibility with previous versions of this module:

{
  host => $self->hostname,
  port => $self->port
}
dbname

Name of the database in which to store session data. Defaults to catalyst.

collectioname

Name of the collection in which to store session data. Defaults to session.

hostname, port

Deprecated: use client_options instead. Default to localhost and 27017, when used as default for an unspecified client_options for compatibility with previous versions of this module.

USAGE

See Catalyst::Plugin::Session and Catalyst::Plugin::Session::Store.

Expired Sessions

When getting session data, this store automatically deletes the session if it has expired. Additionally this store implements the optional delete_expired_sessions() method.

AUTHORS

Ronald J Kimball, <rjk@tamias.net>

Stefan Völkel, <bd@bc-bd.org> <http://bc-bd.org>

Cory G Watson, <gphat at cpan.org>

LICENSE

Copyright 2010 Stefan Völkel <bd@bc-bd.org>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License v2 or (at your option) any later version, as published by the Free Software Foundation; or the Artistic License.