gianksp / cakephp-mongodb
MongoDB Datasource for CakePHP
Installs: 1 028
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 141
Open Issues: 0
Type:cakephp-plugin
Requires
- php: >=5.3.0
- composer/installers: *
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2025-03-16 02:51:32 UTC
README
Requirements
- PHP5
- CakePHP >= 2.9.9
- pecl mongo (http://php.net/mongo)
Installation
composer require gianksp/cakephp-mongodb:dev-master
Sample Code
To use this DB driver, install (obviously) and define a db source such as follows:
<?php
//app/Config/bootstrap.php
CakePlugin::load('Mongodb');
// app/Config/database.php
class 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.php
public $test = array(
'datasource' => 'Mongodb.MongodbSource',
'database' => 'test_mongo',
'host' => 'localhost',
'port' => 27017,
);
}
More detail of replicaset in wiki: https://github.com/gianksp/cakephp-mongodb/wiki/How-to-connect-to-replicaset-servers
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.
Maintainer
Giancarlo Sanchez (gianksp)