定制 giginc/mongodb 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

giginc/mongodb

最新稳定版本:1.0.6

Composer 安装命令:

composer require giginc/mongodb

包简介

An Mongodb datasource for CakePHP 3.0

README 文档

README

Slack

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

The MIT License (MIT) Copyright (c) 2013

统计信息

  • 总下载量: 11.65k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 3
  • Forks: 31
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-11-16