安裝php-mongo擴展和安裝其餘php擴展的步驟同樣:php
#1.首先上http://pecl.php.net上面搜索mongo,獲得下載地址 wget http://pecl.php.net/get/mongo-1.6.11.tgz tar zxvf ./mongo-1.6.11.tgz #2.解壓進入,phpize後進行編譯 cd ./mongo-1.6.11 phpize #有可能要寫全phpize的地址 ./configure --with-php-config=/usr/local/php/bin/php-config make && make install #3.編譯成功後出現: Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/ #4.得其地址寫入php.ini extension = mongo.so #有可能要寫全mongo.so的路徑,也就是上面的提示 #5.安裝完之後,看phpinfo()中有沒有這個擴展,有就表示安裝成功;
以上基本上也是其餘PHP擴展安裝的常規方法mongodb
通常都是進行二次封裝後再使用,便於後續的擴展;在此以前,咱們先熟悉官方的的使用方法,php官方類使用起來跟其餘擴展的類方法相比略爲特殊數據庫
<?php # 首先經過MongoClient(Mongo)類來連接mongo的客戶端 # class mongo: This class extends MongoClient and provides access to several deprecated methods. 通常咱們用mongoClient就能夠了 $client = new MongoClient(); // 獲得$client客戶端對象,若是沒有傳入參數,它會鏈接到 "localhost:27017",實際上還能夠傳入參數mongodb://[username:password@]host1[:port1][,host2[:port2:],...]/ 連接多個客戶端,好比連接三個mongos,其中一個崩潰,它會立刻去連接第二個,直到所有連接不上,纔會拋出一個異常 更多constructor參考:http://php.net/manual/zh/mongoclient.construct.php $db = $client -> shop; //獲取名稱爲shop的數據庫對象,或者使用$db = $m->selectDB("example"),這個時候$db是由class mongoDB來實例的,更多能夠參考http://php.net/manual/zh/class.mongodb.php $goods = $db -> goods; //獲得goods集合對象,這個時候的$goods對象是由class MongoCollection類來實例的; //db.goods.find({},{'_id':0,'goods_id':1,'goods_name':1}) $cursor = $goods -> $goods -> find(array(),array('_id' => 0,'goods_id' => 1,'goods_name' => 1)); //獲得cursor對象,這個時候的cursor對象是由class MongoCursor來實例的 #接下來纔是正式操做mongoDB的數據,把json轉換爲數組既可; $data = array(); foreach ($cursor as $v) { $data[] = $v; } #或者 $data = iterator_to_array($cursor); # 內置函數: 將迭代器中的元素拷貝到數組 /**********部分操做示例**********/ $users = $db -> users; # 返回值 $insert = $users -> insert(array('user_id' => 1,'user_name' => 'zxg','sex' => 'boy')); /* Array ( [ok] => 1 //除非 last_error 自己出現錯誤,不然都是1,表明成功; [n] => 0 //受影響的數量,在insert的時候這個值始終是0; [err] => null [errmsg] => null ) */ # 執行js,注意這是class mongoDB類的方法 $response = $db->execute("function(greeting, name) { return greeting+', '+name+'!'; }", array("Good bye", "Joe")); echo $response['retval']; // Good bye, Joe! ?>
PHP: MongoClient - Manual: http://php.net/manual/zh/class.mongoclient.phpjson