giginc/mongodb
Composer 安装命令:
composer require giginc/mongodb
包简介
An Mongodb datasource for CakePHP 3.0
README 文档
README
Mongodb for Cakephp3
An Mongodb datasource for CakePHP 3.5
Installing via composer
Install composer and run:
composer require giginc/mongodb 1.0.0
Connecting the Plugin to your application
add the following line in your config/bootstrap.php to tell your application to load the plugin:
Plugin::load('Giginc/Mongodb');
Defining a connection
Now, you need to set the connection in your config/app.php file:
'Datasources' => [ 'default' => [ 'className' => 'Giginc\Mongodb\Database\Connection', 'driver' => 'Giginc\Mongodb\Database\Driver\Mongodb', 'persistent' => false, 'host' => 'localhost', 'port' => 27017, 'username' => '', 'password' => '', 'database' => 'devmongo', 'ssh_host' => '', 'ssh_port' => 22, 'ssh_user' => '', 'ssh_password' => '', 'ssh_pubkey_path' => '', 'ssh_privatekey_path' => '', 'ssh_pubkey_passphrase' => '' ], ],
SSH tunnel variables (starting with 'ssh_')
If you want to connect to MongoDB using a SSH tunnel, you need to set additional variables in your Datasource. Some variables are unnecessary, depending on how you intend to connect. IF you're connecting using a SSH key file, the ssh_pubkey_path and ssh_privatekey_path variables are necessary and the ssh_password variable is unnecessary. If you're connecting using a text-based password (which is not a wise idea), the reverse is true. The function needs, at minimum, ssh_host, ssh_user and one method of authentication to establish a SSH tunnel.
Models
After that, you need to load Giginc\Mongodb\ORM\Table in your tables class:
//src/Model/Table/YourTable.php use Giginc\Mongodb\ORM\Table; class CategoriesTable extends Table { }
Observations
The function find() works only in the old fashion way. So, if you want to find something, you to do like the example:
$this->Categories->find('all', ['conditions' => ['name' => 'teste']]); $this->Categories->find('all', ['conditions' => ['name LIKE' => 'teste']]); $this->Categories->find('all', ['conditions' => ['name' => 'teste'], 'limit' => 3]);
You can also use the advanced conditions of MongoDB using the MongoDB\BSON namespace
$this->Categories->find('all', ['conditions' => [ '_id' => new \MongoDB\BSON\ObjectId('5a7861909db0b47d605c3865'), 'foo.bar' => new \MongoDB\BSON\Regex('^(foo|bar)?baz$', 'i') ]]);
LICENSE
giginc/mongodb 适用场景与选型建议
giginc/mongodb 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 12.05k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2018 年 11 月 16 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 giginc/mongodb 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 giginc/mongodb 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 12.05k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 25
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-11-16