栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

php7 mongoDB 简单封装

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

php7 mongoDB 简单封装



finalclassm_mgdb {

privatestatic$ins= [];

privatestatic$def="default";

private$_conn= null;

private$_db= null;

privatestatic$_config= [

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

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

];

staticfunctioni($confkey= NULL) {

if(!$confkey) {

$confkey= self::$def;

}

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

$m=newm_mgdb($conf);

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

}

returnself::$ins[$confkey];

}

privatefunction__construct(array$conf) {

$this->_conn =newMongoDBDriverManager($conf["url"]);

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

}

functioninsert($collname,array$documents,array$writeOps= []) {

$cmd= [

"insert"=>$collname,

"documents"=>$documents,

];

$cmd+=$writeOps;

return$this->command($cmd);

}

functiondel($collname,array$deletes,array$writeOps= []) {

foreach($deletesas&$_){

if(isset($_["q"]) && !$_["q"]){

$_["q"] = (Object)[];

}

if(isset($_["limit"]) && !$_["limit"]){

$_["limit"] = 0;

}

}

$cmd= [

"delete"=>$collname,

"deletes"=>$deletes,

];

$cmd+=$writeOps;

return$this->command($cmd);

}

functionupdate($collname,array$updates,array$writeOps= []) {

$cmd= [

"update"=>$collname,

"updates"=>$updates,

];

$cmd+=$writeOps;

return$this->command($cmd);

}

functionquery($collname,array$filter,array$writeOps= []){

$cmd= [

"find"=>$collname,

"filter"=>$filter

];

$cmd+=$writeOps;

return$this->command($cmd);

}

functioncommand(array$param) {

$cmd=newMongoDBDriverCommand($param);

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

}

functiongetMongoManager() {

return$this->_conn;

}

}



作者:dreamer_lk
链接:https://www.jianshu.com/p/3a1d9b7fc0eb

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/227536.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号