bananabb / cakephp-mongodb
CakePHP的MongoDB数据源
2.3.0
2018-03-02 02:51 UTC
Requires
- php: >=5.3.0
- composer/installers: *
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2024-09-22 02:26:53 UTC
README
重要
抱歉。该项目不再维护!
要求
- PHP5
- CakePHP >= 2.2.5
- pecl mongo (https://php.ac.cn/mongo)
安装
此存储库应与其他插件一样安装。
为单个应用程序安装驱动程序
cd my/app/Plugin
git clone git://github.com/BananaBb/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/BananaBb/cakephp-mongodb.git Mongodb
composer
本插件在Packagist上的位置。
https://packagist.org.cn/packages/bananabb/cakephp-mongodb
示例代码
要使用此数据库驱动程序,显然需要安装并定义一个数据库源,如下所示
<?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,
);
}
有关副本集的更多详细信息,请参阅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请注意,你的控制器代码不需要特定代码即可使用此数据源。
已修复
<?php
$variable = $this->Model->find('all', array(
'conditions' => [
'table.key' => (int)id,
],
'order' => ['table.created ASC'], // Now Support this case and this case: ['table.created' => 'ASC']
));
作者
Yasushi Ichikawa (ichikaway)
BananaBb