您現在的位置是:電腦技術吧?>? 編程技術 ??>??mongodb php,php怎么使用mongodb??>??正文詳情

mongodb php,php怎么使用mongodb

無曼寒2019-12-14 14:02:25 人圍觀
簡介nginx php說到PHP和mongodb,我們首先要介紹一下PHP的官方手冊。網站是:http://us.php.net/manual/en/book.mongo.php。接nginx phpfpm

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

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

版權聲明:本文由 無曼寒 整理編輯。

原標題:php使用mongodb,mongodb python

轉載注明出處:http://www.dn9ww09s.icu/program/15453.html

文章評論

    共有條評論來說兩句吧...

    用戶名:

    驗證碼:

作者推薦

  • 給數組排序,對數組進行排序

    給數組排序,對數組進行排序 相關圖片數組隨機排序本文給出了一個在JavaScript中實現隨機數組排序的例子。與您分享以供參考。具體實現方法如下:?1234函數洗牌(o){for(VaR J,x,I=o.le快速排序數組...

  • iOS3D游戲,ios 3dtouch

    iOS3D游戲,ios 3dtouch 相關圖片ios3dtouch在哪開首先需要獲取mono.data.sqlite.dll文件和system.data.dll文件。如果你在MAC上使用unity,那就太悲劇了。我找不到這兩個文件,3dtouch怎么用...

  • request和response,request response

    request和response,request response 相關圖片關于response用法本文主要介紹了asp.ne響應對象和請求對象的使用。對于朋友,請參考以下1。響應:服務器發送給客戶端的信息,或服務器發送給用戶的輸出。重定向:將客戶端重定向到...

  • 數據庫怎么和程序鏈接,數據庫和程序如何連接

    數據庫怎么和程序鏈接,數據庫和程序如何連接 相關圖片程序鏈接vip數據庫一。刪除記錄opendataconn'open the database connection xxlb=rtnreplaceint(trim(request(數據庫怎么和網頁鏈接...

  • EL表達式難嗎,EL表達式和JSTL標簽

    EL表達式難嗎,EL表達式和JSTL標簽 相關圖片el表達式輸出首先,JSP e l語言定義了El(表達式語言)的目的:使JSP更易于編寫。表達式語言的靈感來源于ECMAScript和XPath表達式語言,為JSP中的表達式el表達式和jstl...

  • emlog友情鏈接插件,Typecho插件

    emlog友情鏈接插件,Typecho插件 相關圖片typecho優酷插件本文主要介紹Typecho插件編寫教程(2):編寫一個新的插件,這是一系列文章中的第二篇。對于需要參考下一節的朋友,我們了解插件的基本結構,并且需要一個示例來實...

  • 什么是延遲加載,延遲加載和立即加載

    什么是延遲加載,延遲加載和立即加載 相關圖片延遲加載的好處本文主要介紹在JavaScript應用程序中使用requirejs來實現延遲加載。JavaScript是一個流行的JS庫。您可以引用簡單或復雜的web應用程序,html延遲加載...

  • ios是誰開發的,ios用什么開發

    ios是誰開發的,ios用什么開發 相關圖片ios開發難嗎我們可以在/usr/include/objc/objc中找到類和對象的定義。H和運行時。H:typedef struct objc_class*類;typedeios 開發教程...

  • 物理解密pc游戲,物理游戲

    物理解密pc游戲,物理游戲 相關圖片pc是指什么本文主要介紹如何獲取PC機和板卡的物理地址。您可以參考以下代碼來獲取PC的物理地址命名空間:使用系統。管理;代碼如下:///summary///get MAC的物理地址怎么算...

  • 訪問文件時出錯,訪問pptx文件時出錯

    訪問文件時出錯,訪問pptx文件時出錯 相關圖片為什么文件訪問被拒絕在同一個程序中,一些瀏覽器會出錯,而其他瀏覽器則不會。錯誤的原因是設置MIME類型的代碼錯誤。如果是JSP文件:代碼如下:%@page contenttype=刪除文件時訪問被拒...

熱評文章

  • 簡體轉繁體,簡體字繁體字

    簡體轉繁體,簡體字繁體字 相關圖片word繁體轉簡體%Test1=新的?.中國?Test2=新信譽。China response.write big5andgb2312(test1,1)response.writ中的繁體字...

  • jsp服務器都有哪些,jsp是在服務器運行

    jsp服務器都有哪些,jsp是在服務器運行 相關圖片web服務器 應用服務器Java只能獲取一次,而且到達頁面的時間是靜態的。然而,通過JS與Java的合作,Java巧妙地實現了這一功能。Java獲取服務器時間,并將其動態顯示到JSP頁jsp上傳文件到...

  • asp運行,asp.net mvc5

    asp運行,asp.net mvc5 相關圖片net和web本文主要介紹了asp.net網站停止運行的原因記錄的具體實現。必須記錄導致網站停止運行的原因。下面是具體的實現方法。代碼如下:protected void apiis支持asp嗎...

  • ios開發條件,ios開發軟件

    ios開發條件,ios開發軟件 相關圖片手機ios開發目前,大多數企業iOS應用主要基于報表和官方文檔審批,應用程序的發展趨勢將朝著Web的方向發展,但本地應用程序具有無可比擬的靈活性。如何在IOS上本地化網頁?一蘋果...

  • cors實現跨域訪問,cors跨域訪問示例

    cors實現跨域訪問,cors跨域訪問示例 相關圖片cors實現請求跨域本文介紹了利用Ajax實現跨域訪問的三種解決方案,具有很強的實用性。我推薦第三個。你可以集中精力。首先,什么是跨域?讓我們回顧一下域名地址的組成:http://c...

  • apk轉換ios,蘋果轉換器

    apk轉換ios,蘋果轉換器 相關圖片安卓數據轉到ios本文主要介紹了IOS開發中時間轉換方法的集合。在開發IOS程序時,有時需要將時間格式調整為所需的格式。此時,我們可以使用nsdateformatter類來處理它ios12.1.4怎么樣...

  • 碰撞檢測有啥用,opcode碰撞檢測

    碰撞檢測有啥用,opcode碰撞檢測 相關圖片Qt碰撞檢測我們設置要檢測的碰撞的物理設置(以下我們稱之為物理體x x)XX。Physicsbody=skphysicsbody(矩形大小:cgsize(x:100,y:1cocos碰撞檢測...

  • ios 10,ios12.2

    ios 10,ios12.2 相關圖片ios12.1.3我的一個同事問我如何學習IOS。我不需要編碼就能生產產品。好吧,是的,我不需要有能力,但如果可以,我可以更好地與程序員溝通。至少我們能聽懂同樣的語言。讓我推薦一...

  • 系統的特性和分析方法,系統的分析方法及各自的優點

    系統的特性和分析方法,系統的分析方法及各自的優點 相關圖片分析系統穩定性的方法Xcode 4.3符號崩潰的位置與舊版本不一致。/應用程序/Xcode.app/Contents/Developer/Platforms/iPhoneOS.pl系統分析的方法有哪些...

  • 如何判斷數組是否為空,數組為空怎么判斷

    如何判斷數組是否為空,數組為空怎么判斷 相關圖片js怎么判斷一個數組為空一。Isset函數:判斷變量是否初始化注意:不判斷變量是否為空,可用于判斷數組中的元素是否已定義。注:當使用ISSET判斷數組元素是否已初始化時,其效率約...

關注微信

变脸官网查询