MongoDB PHP

MongoDB PHP

在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("itread01");
echo "集合建立成功";
?>

執行以上程式,輸出結果如下:

集合建立成功

插入文件

在mongoDB中使用 insert() 方法插入文件:

插入文件程式碼片段如下:

<?php
$m = new MongoClient();    // 連線到mongodb
$db = $m->test;            // 選擇一個數據庫
$collection = $db->itread01; // 選擇集合
$document = array( 
    "title" => "MongoDB", 
    "description" => "database", 
    "likes" => 100,
    "url" => "http://www.itread01.com/mongodb/",
    "by", "入門教學"
);
$collection->insert($document);
echo "資料插入成功";
?>

執行以上程式,輸出結果如下:

資料插入成功

然後我們在 mongo 客戶端使用 db.itread01.find().pretty(); 命令檢視資料:


查詢文件

使用find() 方法來讀取集合中的文件。

讀取使用文件的程式碼片段如下:

<?php
$m = new MongoClient();    // 連線到mongodb
$db = $m->test;            // 選擇一個數據庫
$collection = $db->itread01; // 選擇集合

$cursor = $collection->find();
// 迭代顯示文件標題
foreach ($cursor as $document) {
    echo $document["title"] . "\n";
}
?>

執行以上程式,輸出結果如下:

MongoDB

更新文件

使用 update() 方法來更新文件。

以下例項將更新文件中的標題為' MongoDB 教程', 程式碼片段如下:

<pre>
<?php
$m = new MongoClient();    // 連線到mongodb
$db = $m->test;            // 選擇一個數據庫
$collection = $db->itread01; // 選擇集合
// 更新文件
$collection->update(array("title"=>"MongoDB"), array('$set'=>array("title"=>"MongoDB 教程")));
// 顯示更新後的文件
$cursor = $collection->find();
// 迴圈顯示文件標題
foreach ($cursor as $document) {
    echo $document["title"] . "\n";
}
?>

執行以上程式,輸出結果如下:

MongoDB 教程

然後我們在 mongo 客戶端使用 db.itread01.find().pretty(); 命令檢視資料:


刪除文件

使用 remove() 方法來刪除文件。

以下例項中我們將移除 'title' 為 'MongoDB 教程' 的一條資料記錄。, 程式碼片段如下:

<?php
$m = new MongoClient();    // 連線到mongodb
$db = $m->test;            // 選擇一個數據庫
$collection = $db->itread01; // 選擇集合
   
// 移除文件
$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。