Php7 mongodb explain,【代码片-1】 php7 mongoDB 简单封装
/**
* mongoDB 簡(jiǎn)單 封裝
* 注意:支持 mongoDB 3.2+
*
* @author color_wind
*/
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"],
];
/**
* 創(chuàng)建mongo對(duì)象
* @param ?string $confkey
* @return \m_mgdb
*/
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 =newMongoDB\Driver\Manager($conf["url"]);
$this->_db ? =$conf["dbname"];
}
/**
* 插入數(shù)據(jù)
* @param ?string $collname
* @param ?array ?$documents ? ?[["name"=>"values", ...], ...]
* @param ?array ?$writeOps ? ? ["ordered"=>boolean,"writeConcern"=>array]
* @return \MongoDB\Driver\Cursor
*/
functioninsert($collname,array$documents,array$writeOps= []) {
$cmd= [
"insert"=>$collname,
"documents"=>$documents,
];
$cmd+=$writeOps;
return$this->command($cmd);
}
/**
* 刪除數(shù)據(jù)
* @param ?string $collname
* @param ?array ?$deletes ? ? ?[["q"=>query,"limit"=>int], ...]
* @param ?array ?$writeOps ? ? ["ordered"=>boolean,"writeConcern"=>array]
* @return \MongoDB\Driver\Cursor
*/
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);
}
/**
* 更新數(shù)據(jù)
* @param ?string $collname
* @param ?array ?$updates ? ? ?[["q"=>query,"u"=>update,"upsert"=>boolean,"multi"=>boolean], ...]
* @param ?array ?$writeOps ? ? ["ordered"=>boolean,"writeConcern"=>array]
* @return \MongoDB\Driver\Cursor
*/
functionupdate($collname,array$updates,array$writeOps= []) {
$cmd= [
"update"=>$collname,
"updates"=>$updates,
];
$cmd+=$writeOps;
return$this->command($cmd);
}
/**
* 查詢
* @param ?string $collname
* @param ?array ?$filter ? ? [query] ? ? 參數(shù)詳情請(qǐng)參見文檔
* @param ?array ?$writeOps ? ["key"=>vals,...] 其它參數(shù) 參數(shù)詳情請(qǐng)參見文檔
* @return \MongoDB\Driver\Cursor
*/
functionquery($collname,array$filter,array$writeOps= []){
$cmd= [
"find"=>$collname,
"filter"=>$filter
];
$cmd+=$writeOps;
return$this->command($cmd);
}
/**
* 執(zhí)行MongoDB命令
* @param ?array $param ? ? ?執(zhí)行的命令
* @return \MongoDB\Driver\Cursor
*/
functioncommand(array$param) {
$cmd=newMongoDB\Driver\Command($param);
return$this->_conn->executeCommand($this->_db,$cmd);
}
/**
* 獲取當(dāng)前mongoDB Manager
* @return MongoDB\Driver\Manager
*/
functiongetMongoManager() {
return$this->_conn;
}
}
作者:dreamer_lk
鏈接:https://www.jianshu.com/p/3a1d9b7fc0eb
總結(jié)
以上是生活随笔為你收集整理的Php7 mongodb explain,【代码片-1】 php7 mongoDB 简单封装的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 申请信用卡要什么条件 申请信用卡需要提供
- 下一篇: php有哪些开源社区,PHP开源社区