php7 封装mongodb,php7 mongoDB 简单封装

php7 mongoDB 简单封装

m_mgdb.php

/**

* mongo db 简单 封装

*

* @author color_wind

*/

final class m_mgdb {

private static $ins = [];

private static $def = 'default';

private $_conn = null;

private $_db = null;

private static $_config = [

'default' => ['url' => 'mongodb://localhost:27017','dbname' => 'mydb1'],

'mdb1' => ['url' => 'mongodb://10.0.0.12:27017','dbname' => 'mydb2'],

];

/**

* 创建

* @param string $confkey

* @return \m_mgdb

*/

static function i($confkey = NULL) {

if (!$confkey) {

$confkey = self::$def;

}

if (!isset(self::$ins[$confkey]) && ($conf = self::$_config[$confkey])) {

$m = new m_mgdb($conf);

self::$ins[$confkey] = $m;

}

return self::$ins[$confkey];

}

private function __construct(array $conf) {

$this->_conn = new MongoDB\Driver\Manager($conf['url']);

$this->_db = $conf['dbname'];

}

function query($collname,array $filter, array $options){

$query = new MongoDB\Driver\Query($filter, $options);

return $cursor = $this->_conn->executeQuery("{$this->_db}.{$collname}", $query);

}

function insert($collname,array $param) {

$bulk = new MongoDB\Driver\BulkWrite();

foreach($param as $v){

if(is_array($v)){

$bulk->insert($v);

}

}

return $this->write($collname, $bulk);

}

function write($collname,$bulk) {

return $this->_conn->executeBulkWrite("{$this->_db}.{$collname}", $bulk);

}

function command(array $param) {

$cmd = new MongoDB\Driver\Command($param);

return $this->_conn->executeCommand($this->_db, $cmd);

}

/**

* 获取当前mongoDB Manager

* @return MongoDB\Driver\Manager

*/

function getMongoManager() {

return $this->_conn;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值