2015
09-09

MongoDB PHP

清華大佬耗費(fèi)三個月吐血整理的幾百G的資源,免費(fèi)分享!....>>>

MongoDB PHP

在php中使用mongodb你必須使用 mongodb的php驅(qū)動。

MongoDB PHP在各平臺上的安裝及驅(qū)動包下載請查看:PHP安裝MongoDB擴(kuò)展驅(qū)動

確保連接及選擇一個數(shù)據(jù)庫

為了確保正確連接,你需要指定數(shù)據(jù)庫名,如果數(shù)據(jù)庫在mongoDB中不存在,mongoDB會自動創(chuàng)建

代碼片段如下:

<?php
   // 連接到mongodb
   $m = new MongoClient();
   echo "Connection to database successfully";
   // 選擇一個數(shù)據(jù)庫
   $db = $m->mydb;
   echo "Database mydb selected";
?>

執(zhí)行以上程序,輸出結(jié)果如下:

Connection to database successfully
Database mydb selected

創(chuàng)建集合

創(chuàng)建集合的代碼片段如下:

<?php
   // 連接到mongodb
   $m = new MongoClient();
   echo "Connection to database successfully";
   // 選擇一個數(shù)據(jù)庫
   $db = $m->mydb;
   echo "Database mydb selected";
   $collection = $db->createCollection("mycol");
   echo "Collection created succsessfully";
?>

執(zhí)行以上程序,輸出結(jié)果如下:

Connection to database successfully
Database mydb selected
Collection created succsessfully

插入文檔

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

插入文檔代碼片段如下:

<?php
   // 連接到mongodb
   $m = new MongoClient();
   echo "Connection to database successfully";
   // 選擇一個數(shù)據(jù)庫
   $db = $m->mydb;
   echo "Database mydb selected";
   $collection = $db->mycol;
   echo "Collection selected succsessfully";
   $document = array( 
      "title" => "MongoDB", 
      "description" => "database", 
      "likes" => 100,
      "url" => "http://www.w3cschool.cc/mongodb/",
      "by", "w3cschool.cc"
   );
   $collection->insert($document);
   echo "Document inserted successfully";
?>

執(zhí)行以上程序,輸出結(jié)果如下:

Connection to database successfully
Database mydb selected
Collection selected succsessfully
Document inserted successfully

查找文檔

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

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

<?php
   // 連接到mongodb
   $m = new MongoClient();
   echo "Connection to database successfully";
   // 選擇一個數(shù)據(jù)庫
   $db = $m->mydb;
   echo "Database mydb selected";
   $collection = $db->mycol;
   echo "Collection selected succsessfully";

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

執(zhí)行以上程序,輸出結(jié)果如下:

Connection to database successfully
Database mydb selected
Collection selected succsessfully
{
   "title": "MongoDB"
}

更新文檔

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

以下實(shí)例將更新文檔中的標(biāo)題為' MongoDB Tutorial', 代碼片段如下:

<pre>
<?php
   // 連接到mongodb
   $m = new MongoClient();
   echo "Connection to database successfully";
   // 選擇一個數(shù)據(jù)庫
   $db = $m->mydb;
   echo "Database mydb selected";
   $collection = $db->mycol;
   echo "Collection selected succsessfully";

   // 更新文檔
   $collection->update(array("title"=>"MongoDB"), array('$set'=>array("title"=>"MongoDB Tutorial")));
   echo "Document updated successfully";
   // 顯示更新后的文檔
   $cursor = $collection->find();
   // 循環(huán)顯示文檔標(biāo)題
   echo "Updated document";
   foreach ($cursor as $document) {
      echo $document["title"] . "\n";
   }
?>

執(zhí)行以上程序,輸出結(jié)果如下:

Connection to database successfully
Database mydb selected
Collection selected succsessfully
Document updated successfully
Updated document
{
   "title": "MongoDB Tutorial"
}

刪除文檔

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

以下實(shí)例中我們將移除 'title' 為 'MongoDB Tutorial' 的數(shù)據(jù)記錄。, 代碼片段如下:

<?php
   // 連接到mongodb
   $m = new MongoClient();
   echo "Connection to database successfully";
   // 選擇一個數(shù)據(jù)庫
   $db = $m->mydb;
   echo "Database mydb selected";
   $collection = $db->mycol;
   echo "Collection selected succsessfully";
   
   // 移除文檔
   $collection->remove(array("title"=>"MongoDB Tutorial"),false);
   echo "Documents deleted successfully";
   
   // 顯示可用文檔數(shù)據(jù)
   $cursor = $collection->find();
   // iterate cursor to display title of documents
   echo "Updated document";
   foreach ($cursor as $document) {
      echo $document["title"] . "\n";
   }
?>

執(zhí)行以上程序,輸出結(jié)果如下:

Connection to database successfully
Database mydb selected
Collection selected succsessfully
Documents deleted successfully

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

掃碼二維碼 獲取免費(fèi)視頻學(xué)習(xí)資料

編程學(xué)習(xí)