Skip to content

lsmonki/mongoDB-Datasource

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mongoDB datasource for CakePHP

Requirements

PHP5, pecl mongo (http://php.net/mongo)

Installation

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

Cake 2.0 Installation

Update /app/Config/bootstrap.php, add this line at the end of the file:

CakePlugin::load('mongodb');

Sample Code

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.

Author

Yasushi Ichikawa (ichikaway)

Andy Dawson (AD7six)

Contributors

Predominant : Cleanup code, add documentation

Jrbasso : Cleanup code

tkyk : Fix bug, Add some function.

Reference

Reference code, Thank you!

Nate Abele's lithium mongoDB datasource

Joél Perras' divan

About

Old and Historical repository. Please use new repository at: http://github.com/ichikaway/cakephp-mongodb

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%