PHP MongoDB 使用
PHP MongoDB 是一款基于 PHP 語言開發的 MongoDB 的擴展程序,可以使 PHP 語言與 MongoDB 數據庫實現良好的結合,實現對 MongoDB 數據庫進行操作。
在實際開發中,PHP MongoDB 提供了很多方便的方法,讓我們能夠快速操作 MongoDB 數據庫,例如:
//建立連接 $manager = new \MongoDB\Driver\Manager("mongodb://localhost:27017"); //創建集合 $bulk = new \MongoDB\Driver\BulkWrite; $bulk->insert(['username'=>'admin']); $manager->executeBulkWrite('數據庫名.集合名', $bulk); //查詢文檔 $filter = ['username'=>'admin']; $options = []; $query = new \MongoDB\Driver\Query($filter, $options); $cursor = $manager->executeQuery('數據庫名.集合名', $query); foreach($cursor as $document) { //循環輸出 }
以上是 PHP MongoDB 操作 MongoDB 數據庫的基本操作,下面我們詳細介紹一下 PHP MongoDB 的操作方法。
1. 建立連接
$manager = new \MongoDB\Driver\Manager("mongodb://localhost:27017");
在 PHP MongoDB 中,建立 MongoDB 數據庫連接的方法非常簡單,只需要使用 \MongoDB\Driver\Manager 類實例化一個連接即可。
連接的參數需以 URI 的形式傳入,例如,連接本機的默認端口是 27017 的 MongoDB 服務,URI 為:mongodb://localhost:27017 。
2. 選擇數據庫
$databaseName = "數據庫名"; $collectionName = "集合名"; $cmd = new \MongoDB\Driver\Command(array('listCollections' =>1)); $ret = $manager->executeCommand($databaseName, $cmd); foreach($ret as $document){ if ($document->name == $collectionName) { return true; } } return false;
在 PHP MongoDB 中,要想選擇一個數據庫,只需要執行操作即可。
選擇數據庫需要傳入兩個參數,分別為數據庫名和集合名。
要查詢是否有指定的集合,可以使用 MongoDB 的特殊命令 listCollections 。
3. 插入數據
$bulk = new \MongoDB\Driver\BulkWrite; $document = ['_id' =>new \MongoDB\BSON\ObjectID, 'name' =>'x-zh', 'age' =>20]; $id = $bulk->insert($document); $manager->executeBulkWrite('數據庫名.集合名', $bulk);
在 PHP MongoDB 中,要插入數據需要使用 BulkWrite 類,傳入的參數為文檔對象。
其中,_id 為主鍵,例子中使用了 ObjectID 生成方法。
使用 executeBulkWrite 方法可將插入的數據寫入 MongoDB 數據庫中。
4. 查詢數據
$filter = ['name' =>'x-zh']; $options = ['sort' =>['age' =>-1]]; $query = new \MongoDB\Driver\Query($filter, $options); $cursor = $manager->executeQuery('數據庫名.集合名', $query); foreach ($cursor as $document) { echo $document->name."\n"; echo $document->age."\n"; }
在 PHP MongoDB 中,要查詢數據使用 Query 類。
在進行查詢時需要傳入兩個參數,分別是要查詢的字段和相關排序參數。
使用 executeQuery 方法即可查詢出符合條件的所有文檔。
5. 更新數據
$bulk = new \MongoDB\Driver\BulkWrite; $filter = ['name' =>'x-zh']; $newObj = ['$set' =>['age' =>25]]; $bulk->update($filter, $newObj); $manager->executeBulkWrite('數據庫名.集合名', $bulk);
在 PHP MongoDB 中,要更新數據使用 BulkWrite 類。
在進行更新時需要傳入兩個參數,分別是篩選要更新的文檔和要更新的字段及內容。
使用 executeBulkWrite 方法即可更新指定的文檔。
6. 刪除數據
$bulk = new \MongoDB\Driver\BulkWrite; $bulk->delete(['name' =>'x-zh']); $manager->executeBulkWrite('數據庫名.集合名', $bulk);
在 PHP MongoDB 中,要刪除數據也需要使用 BulkWrite 類。
在進行刪除時需要傳入一個篩選條件,指定要刪除哪些文檔。
使用 executeBulkWrite 方法即可刪除指定的文檔。
總之,PHP MongoDB 為 PHP 開發者提供了非常方便的 MongoDB 操作接口,讓我們能夠快速高效地操作 MongoDB 數據庫。