gianksp/cakephp-mongodb

MongoDB Datasource for CakePHP

Installs: 1 026

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 2

Forks: 142

Open Issues: 0

Type:cakephp-plugin

dev-master 2017-09-28 16:13 UTC

This package is not auto-updated.

Last update: 2024-06-08 22:49:55 UTC


README

Build Status Coverage Status

Requirements

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)