第一次使用mongo的时候给我的感觉就是文档对象处理起来麻烦,查询语法拼接不够平滑好记,因为处理惯了数组,所以这里基于尝试着以tp的方式封装了一个类库,方便使用
调用方式都在最下面已经注释掉的部分,快来试试吧
<?php
/**
* mongodb驱动类
*/
class MongoDriver
{
private static $db;
private static $currentCollection;
private $option = array(
'condition'=>array(),
'field'=>array('_id'=>false),
'sort'=>array(),
'limitNum'=>null,
'offset'=>null
);
private static $_config = array(
'host'=>'127.0.0.1',
'port'=>'27017',
'dbName'=>'test',
'user'=>'wujia',
'pass'=>'wujia'
);
public function __construct()
{
$this->connect();
}
/**
* [connect 连接方法]
* @param array $connectInfo [连接信息]
*/
public function connect($connectInfo=array())
{
if(!$connectInfo)
{
$connectInfo = self::$_config;
}
$connectLink ="mongodb://".$connectInfo['host'].":".$connectInfo['port'];
$mongo = new MongoClient($connectLink);
// $mongo = new MongoDB\Driver\Manager($connectLink);
$db = $mongo->$connectInfo['dbName'];
$db->authenticate($connectInfo['user'], $connectInfo['pass']);
self::$db = $db;
}
/**
* [collection 选择集合]
* @param [string] $collectionName [集合名称]
*/
public function collection($collectionName)
{
if($collectionName&&strlen($collectionName)>0)