PHP5, pecl mongo (http://php.net/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://github.com/ichikaway/cakephp-mongodb.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://github.com/ichikaway/cakephp-mongodb.git mongodb
Update /app/Config/bootstrap.php, add this line at the end of the file:
CakePlugin::load('mongodb');
To use this DB driver, install (obviously) and define a db source such as follows:
<?php
// app/config/database.php
class DATABASE_CONFIG {
public $mongo = array(
'datasource' => 'mongodb.mongodbSource',
'database' => 'driver',
'host' => 'localhost',
'port' => 27017,
/* optional auth fields
'login' => 'mongo',
'password' => 'awesomeness',
*/
);
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.
To use the "_id" as the default primary key in CakePHP, change the $primaryKey
property to "_id" in your model or in the AppModel.
class AppModel extends Model {
public $primaryKey = '_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!