Blame | Last modification | View Log | RSS feed
# mongoDB datasource for CakePHP[](https://travis-ci.org/ichikaway/cakephp-mongodb)[](https://coveralls.io/r/ichikaway/cakephp-mongodb)## Requirements- PHP5- CakePHP >= 2.2.5- pecl mongo (http://php.net/mongo)## Installationthis 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/Plugingit clone git://github.com/ichikaway/cakephp-mongodb.git MongodbTo 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/Plugingit clone git://github.com/ichikaway/cakephp-mongodb.git Mongodb### composerThis plugin on the Packagist.https://packagist.org/packages/ichikaway/cakephp-mongodb## Sample CodeTo use this DB driver, install (obviously) and define a db source such as follows:<?php//app/Config/bootstrap.phpCakePlugin::load('Mongodb');// app/Config/database.phpclass DATABASE_CONFIG {public $default = array('datasource' => 'Mongodb.MongodbSource','host' => 'localhost','database' => 'blog','port' => 27017,'prefix' => '','persistent' => 'true',/* optional auth fields'login' => 'mongo','password' => 'awesomeness','replicaset' => array('host' => 'mongodb://hoge:hogehoge@localhost:27021,localhost:27022/blog','options' => array('replicaSet' => 'myRepl')),*/);// To make sure all tests are passing create the following entry in app/Config/database.phppublic $test = array('datasource' => 'Mongodb.MongodbSource','database' => 'test_mongo','host' => 'localhost','port' => 27017,);}More detail of replicaset in wiki:https://github.com/ichikaway/cakephp-mongodb/wiki/How-to-connect-to-replicaset-serversModel 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.](http://github.com/ichikaway/mongoDB-Datasource/blob/master/samples/models/post.php)There are also some sample [controller actions: find,save,delete,deleteAll,updateAll](http://github.com/ichikaway/mongoDB-Datasource/blob/master/samples/controllers/posts_controller.php) note that your controller code needs no specific code to use this datasource.## AuthorYasushi Ichikawa ([ichikaway](http://twitter.com/ichikaway))Andy Dawson ([AD7six](http://twitter.com/AD7six))## Contributors[Predominant](http://github.com/predominant/) : Cleanup code, add documentation[Jrbasso](http://github.com/jrbasso/) : Cleanup code[tkyk](http://github.com/tkyk/) : Fix bug, Add some function.## ReferenceReference code, Thank you[Joél Perras' divan](http://github.com/jperras/divan/)