skymvc/library/cls_mgdb.php

(开头部分) 5KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

<?php
/**
*mongodb类库 By 雷日锦 2016-05-16
*
**/
if(!function_exists("mgdb")){
	function mgdb($table=""){
		require_once "skymvc/library/cls_mgdb.php";
		$mgdb=new mgdb('mongodb://localhost:27017');
		return $mgdb;
	}
}
class mgdb{
	public $manager;
	public $writeConcern;
	public $database="db";
	public $table; 
	public function __construct($server='mongodb://localhost:27017',$database="db",$config=array("connect" => TRUE)){
		$this->manager= new MongoDB\Driver\Manager($server);
		$this->database=$database;
		$this->writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 100);
	}
	
	public function connect($server="mongodb://localhost:27017",$database="db",$config=array("connect" => TRUE)){
		$this->manager= new MongoDB\Driver\Manager($server);
		$this->database=$database;
	}
	
	 
	public function select($table,$option=array(),&$rscount=false){
		$filter=isset($option['where'])?$option['where']:array();
		if(isset($filter['_id'])){
			$filter['_id']=new MongoDB\BSON\ObjectId($filter['_id']);
		} 
		$option=array(
			"limit"=>isset($option['limit'])?$option['limit']:0,
			"skip"=>isset($option['start'])?$option['start']:0,
			"projection"=>isset($option['fields'])?$option['fields']:array(),
			"sort"=>isset($option['order'])?$option['order']:array()
		);
		$query = new MongoDB\Driver\Query($filter, $option);
		$readPreference = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY);
		$cursor = $this->manager->executeQuery($this->database.'.'.$table, $query,$readPreference);
		$cursor->setTypeMap(['root' => 'array']);
		//查询总数
		$commands = [
	        'count' => $table,
	        'query' => $filter
	    ];
	    $command = new \MongoDB\Driver\Command($commands);
	    $ccrs = $this->manager->executeCommand($this->database, $command);
	    $info = $ccrs->toArray();
	    $rscount = $info[0]->n; 
	    if($rscount<=0){
	    	return false;
	    } 
		foreach($cursor as $row){
			$row['_id']=(string)$row['_id'];
			$data[]=$row;
		}
后面还有 124 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。