Fetching contributors…
Cannot retrieve contributors at this time
77 lines (48 sloc) 2.39 KB

mongoDB datasource for CakePHP


PHP5, pecl mongo (


this repository should be installed in the same way as any other plugin.

To install the driver for use in a single application:

cd my/app/plugins
git clone git:// mongodb

To install the driver for use in any/multiple application(s)

# where ROOT is the name of the directory parent to the base index.php of CakePHP.
cd ROOT/plugins
git clone git:// mongodb

Sample Code

To use this DB driver, install (obviously) and define a db source such as follows:

// app/config/database.php

    public $default = array(
        'driver' => 'mongodb.mongodbSource',
        'database' => 'driver',
        'host' => 'localhost',
        'port' => 27017,
        /* optional auth fields
        'login' => 'mongo', 
        'password' => 'awesomeness',
        'replicaset' => array('host' => 'mongodb://hoge:hogehoge@localhost:27021,localhost:27022/blog', 
                              'options' => array('replicaSet' => 'myRepl')

More detail of replicaset in wiki:

Model files need to have mongoSchema property - or make use of the schemaless behavior.

Mongo uses a primary key named "_id" (cannot be renamed). It can be any format you like but if you don't explicitly set it Mongo will use an automatic 24 character (uu)id.

Before you start, you may find it useful to see a model sample. There are also some sample controller actions: find,save,delete,deleteAll,updateAll note that your controller code needs no specific code to use this datasource.


Yasushi Ichikawa (ichikaway)

Andy Dawson (AD7six)


Predominant : Cleanup code, add documentation

Jrbasso : Cleanup code

tkyk : Fix bug, Add some function.


Reference code, Thank you!

Nate Abele's lithium mongoDB datasource

Joél Perras' divan