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 算力,解读结果公开显示在下面。
还没有人解读过这个文件。