PHP實現的MongoDB數據增刪改查


原文地址:https://www.mongodb.org.cn/drivers/2.html   (該網站為mongoDB官方網站)

php中使用mongodb你必須使用 mongodb 的 php驅動。

MongoDB PHP在各平台上的安裝及驅動包下載請查看:PHP安裝MongoDB擴展驅動

如果你使用的是 PHP7,請參閱:PHP7 MongoDB 安裝與使用

確保連接及選擇一個數據庫

為了確保正確連接,你需要指定數據庫名,如果數據庫在mongoDB中不存在,mongoDB會自動創建

代碼片段如下:

  1. <?php
  2. $m = new MongoClient(); // 連接默認主機和端口為:mongodb://localhost:27017
  3. $db = $m->test; // 獲取名稱為 "test" 的數據庫
  4. ?>

創建集合

創建集合的代碼片段如下:

  1. <?php
  2. $m = new MongoClient(); // 連接
  3. $db = $m->test; // 獲取名稱為 "test" 的數據庫
  4. $collection = $db->createCollection("mongo");
  5. echo "集合創建成功";
  6. ?>

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

  1. 集合創建成功

插入文檔

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

插入文檔代碼片段如下:

  1. <?php
  2. $m = new MongoClient(); // 連接到mongodb
  3. $db = $m->test; // 選擇一個數據庫
  4. $collection = $db->mongo; // 選擇集合
  5. $document = array(
  6. "title" => "MongoDB",
  7. "description" => "database",
  8. "likes" => 100,
  9. "url" => "http://www.mongodb.org.cn/",
  10. "by" => "Mongodb中文網"
  11. );
  12. $collection->insert($document);
  13. echo "數據插入成功";
  14. ?>

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

  1. 數據插入成功

然后我們在 mongo 客戶端查看數據

  1. db.mongo.find().pretty();

輸出

  1. {
  2. "_id": ObjectId("57512b3a57c9150f178b4567"),
  3. "title" : "MongoDB",
  4. "description" : "database",
  5. "likes" : NumberLong(100),
  6. "url" : "http://www.mongodb.org.cn/",
  7. "by" : "Mongodb中文網"
  8. }

查找文檔

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

讀取使用文檔的代碼片段如下:

  1. <?php
  2. $m = new MongoClient(); // 連接到mongodb
  3. $db = $m->test; // 選擇一個數據庫
  4. $collection = $db->runoob; // 選擇集合
  5. $cursor = $collection->find(); // 迭代顯示文檔標題
  6. foreach ($cursor as $document) {
  7. echo $document["title"] . "\n";
  8. }
  9. ?>

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

  1. MongoDB

更新文檔

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

以下實例將更新文檔中的標題為' MongoDB 教程', 代碼片段如下:

  1. <?php
  2. $m = new MongoClient(); // 連接到mongodb
  3. $db = $m->test; // 選擇一個數據庫
  4. $collection = $db->runoob; // 選擇集合
  5. // 更新文檔
  6. $collection->update(array("title"=>"MongoDB"), array('$set'=>array("title"=>"MongoDB 教程")));
  7. // 顯示更新后的文檔
  8. $cursor = $collection->find();
  9. // 循環顯示文檔標題
  10. foreach ($cursor as $document) {
  11. echo $document["title"] . "\n";
  12. }
  13. ?>

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

  1. MongoDB 教程

然后我們在 mongo 客戶端查看數據是否被更新

  1. db.runoob.find().pretty();

輸出

  1. {
  2. "_id": ObjectId("57512b3a57c9150f178b4567"),
  3. "title" : "MongoDB教程",
  4. "description" : "database",
  5. "likes" : NumberLong(100),
  6. "url" : "http://www.mongodb.org.cn/",
  7. "by" : "Mongodb中文網"
  8. }

刪除文檔

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

以下實例中我們將移除 'title' 為 'MongoDB 教程' 的一條數據記錄。, 代碼片段如下:

  1. <?php
  2. $m = new MongoClient(); // 連接到mongodb
  3. $db = $m->test; // 選擇一個數據庫
  4. $collection = $db->mongo; // 選擇集合
  5. // 移除文檔
  6. $collection->remove(array("title"=>"MongoDB 教程"), array("justOne" => true));
  7. // 顯示可用文檔數據
  8. $cursor = $collection->find();
  9. foreach ($cursor as $document) {
  10. echo $document["title"] . "\n";
  11. }
  12. ?>

除了以上實例外,在php中你還可以使用findOne(), save(), limit(), skip(), sort()等方法來操作Mongodb數據庫。

更多的操作方法可以參考 Mongodb 核心類:http://php.net/manual/zh/mongo.core.php


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM