ichikaway/cakephp-mongodb

CakePHP 的 MongoDB 数据源

安装数: 8,201

依赖项: 0

建议者: 0

安全: 0

星标: 340

关注者: 43

分支: 142

公开问题: 60

类型:cakephp-plugin

dev-cake2.2 / 2.2.x-dev 2016-12-26 01:25 UTC

This package is not auto-updated.

Last update: 2024-09-24 02:00:20 UTC


README

Build Status Coverage Status

重要

抱歉。该项目不再维护!

要求

安装

此存储库应与其他插件一样安装。

为单个应用程序安装驱动程序

cd my/app/Plugin
git clone git://github.com/ichikaway/cakephp-mongodb.git Mongodb

为任何/多个应用程序安装驱动程序

# where ROOT is the name of the directory parent to the base index.php of CakePHP.
cd ROOT/Plugin
git clone git://github.com/ichikaway/cakephp-mongodb.git Mongodb

composer

此插件在 Packagist 上。

https://packagist.org.cn/packages/ichikaway/cakephp-mongodb

示例代码

要使用此 DB 驱动程序,请安装(显然)并定义一个数据库源,如下所示

<?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,
	); 
}

关于 replicaset 的更多细节请参阅 wiki:https://github.com/ichikaway/cakephp-mongodb/wiki/How-to-connect-to-replicaset-servers

模型文件需要具有 mongoSchema 属性 - 或使用无模式行为。

Mongo 使用一个名为 "_id" 的主键(不能重命名)。它可以是你喜欢的任何格式,但如果您没有明确设置,Mongo 将使用自动生成的 24 位(uu)id。

在开始之前,您可能会发现查看以下内容很有用:模型示例。还有一些示例 控制器动作:find,save,delete,deleteAll,updateAll 请注意,您的控制器代码不需要特定代码即可使用此数据源。

作者

Yasushi Ichikawa (ichikaway)