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