MongoDB 教程
在php中使用mongodb你必須使用 mongodb 的 php驅(qū)動。
MongoDB PHP在各平臺上的安裝及驅(qū)動包下載請查看:PHP安裝MongoDB擴展驅(qū)動
如果你使用的是 PHP7,請參閱:PHP7 MongoDB 安裝與使用。
為了確保正確連接,你需要指定數(shù)據(jù)庫名,如果數(shù)據(jù)庫在mongoDB中不存在,mongoDB會自動創(chuàng)建
代碼片段如下:
<?php $m = new MongoClient(); // 連接默認主機和端口為:mongodb://localhost:27017 $db = $m->test; // 獲取名稱為 "test" 的數(shù)據(jù)庫 ?>
創(chuàng)建集合的代碼片段如下:
<?php $m = new MongoClient(); // 連接 $db = $m->test; // 獲取名稱為 "test" 的數(shù)據(jù)庫 $collection = $db->createCollection("json"); echo "集合創(chuàng)建成功"; ?>
執(zhí)行以上程序,輸出結果如下:
集合創(chuàng)建成功
在mongoDB中使用 insert() 方法插入文檔:
插入文檔代碼片段如下:
<?php $m = new MongoClient(); // 連接到mongodb $db = $m->test; // 選擇一個數(shù)據(jù)庫 $collection = $db->json; // 選擇集合 $document = array( ????"title" => "MongoDB", ????"description" => "database", ????"likes" => 100, ????"url" => "/mongodb/", ????"by", "小白教程" ); $collection->insert($document); echo "數(shù)據(jù)插入成功"; ?>
執(zhí)行以上程序,輸出結果如下:
數(shù)據(jù)插入成功
然后我們在 mongo 客戶端使用 db.json.find().pretty(); 命令查看數(shù)據(jù):
使用find() 方法來讀取集合中的文檔。
讀取使用文檔的代碼片段如下:
<?php $m = new MongoClient(); // 連接到mongodb $db = $m->test; // 選擇一個數(shù)據(jù)庫 $collection = $db->json; // 選擇集合 $cursor = $collection->find(); // 迭代顯示文檔標題 foreach ($cursor as $document) { ????echo $document["title"] . "n"; } ?>
執(zhí)行以上程序,輸出結果如下:
MongoDB
使用 update() 方法來更新文檔。
以下實例將更新文檔中的標題為' MongoDB 教程', 代碼片段如下:
<pre> <?php $m = new MongoClient(); // 連接到mongodb $db = $m->test; // 選擇一個數(shù)據(jù)庫 $collection = $db->json; // 選擇集合 // 更新文檔 $collection->update(array("title"=>"MongoDB"), array('$set'=>array("title"=>"MongoDB 教程"))); // 顯示更新后的文檔 $cursor = $collection->find(); // 循環(huán)顯示文檔標題 foreach ($cursor as $document) { ????echo $document["title"] . "n"; } ?>
執(zhí)行以上程序,輸出結果如下:
MongoDB 教程
然后我們在 mongo 客戶端使用 db.json.find().pretty(); 命令查看數(shù)據(jù):
使用 remove() 方法來刪除文檔。
以下實例中我們將移除 'title' 為 'MongoDB 教程' 的一條數(shù)據(jù)記錄。, 代碼片段如下:
<?php $m = new MongoClient(); // 連接到mongodb $db = $m->test; // 選擇一個數(shù)據(jù)庫 $collection = $db->json; // 選擇集合 // 移除文檔 $collection->remove(array("title"=>"MongoDB 教程"), array("justOne" => true)); // 顯示可用文檔數(shù)據(jù) $cursor = $collection->find(); foreach ($cursor as $document) { ????echo $document["title"] . "n"; } ?>
除了以上實例外,在php中你還可以使用findOne(), save(), limit(), skip(), sort()等方法來操作Mongodb數(shù)據(jù)庫。
更多的操作方法可以參考 Mongodb 核心類:http://php.net/manual/zh/mongo.core.php。