亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

php實現的mongodb操作類

2024-05-04 23:35:39
字體:
來源:轉載
供稿:網友

說到php連mongoDB,不得不先介紹一下php的官方手冊,網址在:http://us.php.net/manual/en/book.mongo.php,接下來給大家分享一個本人常用的MONGODB的操作類,詳見的數據庫操作都有了,小伙伴可以參考下。

mongo_db.php

 

 
  1. <?php 
  2.  
  3. /** 
  4. * Created by PhpStorm. 
  5. * User: yangyulong 
  6. * Date: 2015/5/26 
  7. * Time: 13:45 
  8. */ 
  9. class Mongo_db 
  10. private static $instanceof = NULL; 
  11. public $mongo
  12. private $host = 'localhost'
  13. private $port = '27017'
  14.  
  15. private $db
  16. public $dbname
  17. private $table = NULL; 
  18.  
  19. /** 
  20. * 初始化類,得到mongo的實例對象 
  21. */ 
  22. public function __construct($host = NULL, $port = NULL, $dbname = NULL, $table = NULL) 
  23.  
  24. if (NULL === $dbname) { 
  25. $this->throwError('集合不能為空!'); 
  26.  
  27. //判斷是否傳遞了host和port 
  28. if (NULL !== $host) { 
  29. $this->host = $host
  30.  
  31. if (NULL !== $port) { 
  32. $this->port = $port
  33.  
  34. $this->table = $table
  35.  
  36. $this->mongo = new MongoClient($this->host . ':' . $this->port); 
  37. if ($this->getVersion() >= '0.9.0') { 
  38. $this->dbname = $this->mongo->selectDB($dbname); 
  39. $this->db = $this->dbname->selectCollection($table); 
  40. else { 
  41. $this->db = $this->mongo->$dbname->$table
  42.  
  43. public function getVersion() 
  44. return MongoClient::VERSION; 
  45.  
  46. /** 
  47. * 單例模式 
  48. * @return Mongo|null 
  49. */ 
  50. //public static function getInstance($host=null, $port=null, $dbname=null, $table=null){ 
  51. // 
  52. // if(!(self::$instanceof instanceof self)){ 
  53. // self::$instanceof = new self($host, $port, $dbname, $table); 
  54. // } 
  55. // 
  56. // return self::$instanceof; 
  57. //} 
  58.  
  59. /** 
  60. * 插入一條數據 
  61. * @param array $doc 
  62. */ 
  63. public function insert($doc = array()) 
  64. if (emptyempty($doc)) { 
  65. $this->throwError('插入的數據不能為空!'); 
  66. //保存數據信息 
  67. try { 
  68. if (!$this->db->insert($doc)) { 
  69. throw new MongoException('插入數據失敗'); 
  70. } catch (MongoException $e) { 
  71. $this->throwError($e->getMessage()); 
  72.  
  73. /** 
  74. * 插入多條數據信息 
  75. * @param array $doc 
  76. */ 
  77. public function insertMulti($doc = array()) 
  78. if (emptyempty($doc)) { 
  79. $this->throwError('插入的數據不能為空!'); 
  80. //插入數據信息 
  81. foreach ($doc as $key => $val) { 
  82. //判斷$val是不是數組 
  83. if (is_array($val)) { 
  84. $this->insert($val); 
  85.  
  86. /** 
  87. * 查找一條記錄 
  88. * @return array|null 
  89. */ 
  90. public function findOne($where = NULL) 
  91. if (NULL === $where) { 
  92. try { 
  93. if ($result = $this->db->findOne()) { 
  94. return $result
  95. else { 
  96. throw new MongoException('查找數據失敗'); 
  97. } catch (MongoException $e) { 
  98. $this->throwError($e->getMessage()); 
  99. else { 
  100. try { 
  101. if ($result = $this->db->findOne($where)) { 
  102. return $result
  103. else { 
  104. throw new MongoException('查找數據失敗'); 
  105. } catch (MongoException $e) { 
  106. $this->throwError($e->getMessage()); 
  107.  
  108.  
  109. /** 
  110. * todo 帶條件的隨后做 
  111. * 查找所有的文檔 
  112. * @return MongoCursor 
  113. */ 
  114. public function find($where = NULL) 
  115. if (NULL === $where) { 
  116.  
  117. try { 
  118. if ($result = $this->db->find()) { 
  119.  
  120. else { 
  121. throw new MongoException('查找數據失敗'); 
  122. } catch (MongoException $e) { 
  123. $this->throwError($e->getMessage()); 
  124. else { 
  125. try { 
  126. if ($result = $this->db->find($where)) { 
  127.  
  128. else { 
  129. throw new MongoException('查找數據失敗'); 
  130. } catch (MongoException $e) { 
  131. $this->throwError($e->getMessage()); 
  132.  
  133. $arr = array(); 
  134. foreach ($result as $id => $val) { 
  135. $arr[] = $val
  136.  
  137. return $arr
  138.  
  139. /** 
  140. * 獲取記錄條數 
  141. * @return int 
  142. */ 
  143. public function getCount() 
  144. try { 
  145. if ($count = $this->db->count()) { 
  146. return $count
  147. else { 
  148. throw new MongoException('查找總數失敗'); 
  149. } catch (MongoException $e) { 
  150. $this->throwError($e->getMessage()); 
  151.  
  152. /** 
  153. * 獲取所有的數據庫 
  154. * @return array 
  155. */ 
  156. public function getDbs() 
  157. return $this->mongo->listDBs(); 
  158.  
  159. /** 
  160. * 刪除數據庫 
  161. * @param null $dbname 
  162. * @return mixed 
  163. */ 
  164. public function dropDb($dbname = NULL) 
  165. if (NULL !== $dbname) { 
  166. $retult = $this->mongo->dropDB($dbname); 
  167. if ($retult['ok']) { 
  168. return TRUE; 
  169. else { 
  170. return FALSE; 
  171. $this->throwError('請輸入要刪除的數據庫名稱'); 
  172.  
  173. /** 
  174. * 強制關閉數據庫的鏈接 
  175. */ 
  176. public function closeDb() 
  177. $this->mongo->close(TRUE); 
  178.  
  179. /** 
  180. * 輸出錯誤信息 
  181. * @param $errorInfo 錯誤內容 
  182. */ 
  183. public function throwError($errorInfo=''
  184. echo "<h3>出錯了:$errorInfo</h3>"
  185. die(); 
  186.  

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲自拍欧美另类| 亚洲精品网址在线观看| 欧美成人免费在线视频| 91色p视频在线| 欧美乱大交xxxxx另类电影| 欧美性视频在线| 欧美最猛性xxxx| 亚洲一区二区中文| 国产亚洲福利一区| 国产精品免费小视频| 欧美自拍大量在线观看| 久久久女女女女999久久| 国产精品自产拍高潮在线观看| 亚洲美女视频网| 国产一区二区三区视频| 在线性视频日韩欧美| 久久久在线观看| 欧美色视频日本版| 91视频免费网站| 国产自产女人91一区在线观看| 欧美性猛交xxxx免费看久久久| 欧美精品久久一区二区| 国产精品久久久久久av福利软件| 日韩欧美高清在线视频| 中文字幕日韩欧美在线视频| 国产日产久久高清欧美一区| 不卡毛片在线看| 69视频在线免费观看| 久久久久久美女| 欧美日韩另类字幕中文| 久久免费视频网站| 精品女厕一区二区三区| 亚洲天堂网在线观看| 国产精品扒开腿爽爽爽视频| 高清日韩电视剧大全免费播放在线观看| 欧美老女人在线视频| 欧洲日本亚洲国产区| www.xxxx欧美| 97精品在线观看| 亚洲电影免费在线观看| 亚洲国产精品久久久| 久久久久久成人| 亚洲国产小视频在线观看| 亚洲精品在线视频| 一区二区三区国产在线观看| 国产成人av在线| 久久影院免费观看| 欧美日韩免费区域视频在线观看| 亚洲精品自拍第一页| 亚洲第一福利网站| 91人人爽人人爽人人精88v| 亚洲精品白浆高清久久久久久| 色妞在线综合亚洲欧美| 亚洲丝袜一区在线| 国产在线拍揄自揄视频不卡99| 精品少妇一区二区30p| 国产精品久久久久久久久久ktv| 在线电影欧美日韩一区二区私密| 欧美电影免费播放| 国产精品91免费在线| 宅男66日本亚洲欧美视频| 精品偷拍各种wc美女嘘嘘| 精品福利在线视频| 久久91精品国产91久久久| 欧美日韩国产精品专区| 久久人人爽国产| 亚洲国产成人91精品| 97超碰蝌蚪网人人做人人爽| 欧美亚洲午夜视频在线观看| 亚洲全黄一级网站| 国产高清在线不卡| 51精品在线观看| 国产精品久久久久77777| 中文字幕日韩高清| 精品福利在线视频| 91久久久亚洲精品| 欧美丰满少妇xxxx| 国产精品9999| 亚洲图片制服诱惑| 亚洲乱码国产乱码精品精天堂| 欧美激情一区二区久久久| 国产精品91一区| 久久久久久久久久婷婷| 国产精品一久久香蕉国产线看观看| 久久久久久免费精品| 日本亚洲欧洲色| 国产日韩在线视频| 国产一区在线播放| 在线播放精品一区二区三区| 精品国产自在精品国产浪潮| 国产+人+亚洲| 国产日韩欧美在线播放| 福利视频一区二区| 日韩一二三在线视频播| 欧美一级黄色网| 国产精品成人品| 亚洲黄色成人网| 国产欧美日韩高清| 国产精品久久久久久久美男| 中文字幕欧美日韩| 粗暴蹂躏中文一区二区三区| 国产精品爽黄69天堂a| 国产成人久久久| 欧美日韩国产区| 欧美极品少妇xxxxⅹ裸体艺术| 国产精品海角社区在线观看| 久久久久北条麻妃免费看| 欧美精品999| 精品久久久久久久久久久久久| 久久在精品线影院精品国产| 68精品久久久久久欧美| 日韩性生活视频| 91sao在线观看国产| 成人a在线观看| 久久久久久久国产精品视频| 青青草成人在线| 97视频在线观看免费| 国产精品久久久久久av福利软件| 欧美限制级电影在线观看| 色悠悠国产精品| 毛片精品免费在线观看| 亚洲国产精品视频在线观看| 韩国视频理论视频久久| 国产精品劲爆视频| 欧美色图在线视频| 久久久久久网址| 国产欧美精品va在线观看| 青青久久av北条麻妃海外网| 亚洲综合中文字幕68页| 97成人精品视频在线观看| 亚洲第一精品久久忘忧草社区| 日韩大片免费观看视频播放| 久久97久久97精品免视看| 少妇高潮久久77777| 国产亚洲激情在线| 国产成人极品视频| 中文字幕成人精品久久不卡| 亚洲福利视频网| 中文字幕亚洲一区在线观看| 中文字幕欧美在线| 亚洲网址你懂得| 欧美精品videosex牲欧美| 午夜欧美大片免费观看| 91久久久久久| 日韩欧美国产中文字幕| 国产99视频在线观看| 欧美日韩国产中文精品字幕自在自线| 性亚洲最疯狂xxxx高清| 日韩av手机在线| 亚洲欧美中文日韩v在线观看| 国产精品自产拍高潮在线观看| 成人高清视频观看www| 国产成人精彩在线视频九色| 乱亲女秽乱长久久久| 亚洲黄在线观看| 亚洲黄色在线看| 欧美午夜精品在线| 国产精品久久电影观看| 亚洲第一网站男人都懂| 日韩成人在线免费观看| 欧美猛交免费看| 国产亚洲精品久久久久久777| 91在线视频精品| 欧美成人午夜激情视频|