鍍金池/ 教程/ 數(shù)據(jù)庫/ PHP
更新文檔
GridFS
Rockmongo 管理工具
Map Reduce
Java
創(chuàng)建備份
數(shù)據(jù)模型
創(chuàng)建數(shù)據(jù)庫
映射
查詢文檔
索引限制
ObjectId
刪除文檔
數(shù)據(jù)類型
高級(jí)索引
索引
優(yōu)勢(shì)
記錄排序
查詢分析
插入文檔
刪除集合
全文檢索
創(chuàng)建集合
概述
數(shù)據(jù)庫引用
覆蓋索引查詢
安裝環(huán)境
PHP
刪除數(shù)據(jù)庫
固定集合
關(guān)系
聚合
自動(dòng)增長(zhǎng)
復(fù)制
限制記錄
部署
分片
正則表達(dá)式
原子操作

PHP

要想在 MongoDB 上使用 PHP,需要使用 mongodb PHP 驅(qū)動(dòng)。從該鏈接處下載 PHP 驅(qū)動(dòng)。確保下載的是最新版。將其解壓縮,并將 php_mongo.dll 文件放到 PHP 擴(kuò)展目錄中(默認(rèn)為 “ext”),然后把下列代碼放到 php.ini 文件中:

extension=php_mongo.dll

創(chuàng)建連接并選擇數(shù)據(jù)庫

創(chuàng)建連接需要指定數(shù)據(jù)庫名稱,如果數(shù)據(jù)庫不存在,則 mongodb 會(huì)自動(dòng)創(chuàng)建它。

連接數(shù)據(jù)庫的代碼如下所示:

<?php
   // connect to mongodb
   $m = new MongoClient();
   echo "Connection to database successfully";
   // select a database
   $db = $m->mydb;
   echo "Database mydb selected";
?>

該程序的執(zhí)行結(jié)果如下所示:

Connection to database successfully
Database mydb selected

創(chuàng)建集合

創(chuàng)建集合的代碼如下所示:

<?php
   // connect to mongodb
   $m = new MongoClient();
   echo "Connection to database successfully";
   // select a database
   $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

插入文檔

插入文檔使用 insert() 方法。

<?php
   // connect to mongodb
   $m = new MongoClient();
   echo "Connection to database successfully";
   // select a database
   $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.tutorialspoint.com/mongodb/",
      "by", "tutorials point"
   );
   $collection->insert($document);
   echo "Document inserted successfully";
?>

執(zhí)行程序的結(jié)果如下所示:

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

尋找所有文檔

選擇集合中的所有文檔,使用 find() 方法。

<?php
   // connect to mongodb
   $m = new MongoClient();
   echo "Connection to database successfully";
   // select a database
   $db = $m->mydb;
   echo "Database mydb selected";
   $collection = $db->mycol;
   echo "Collection selected succsessfully";

   $cursor = $collection->find();
   // iterate cursor to display title of documents
   foreach ($cursor as $document) {
      echo $document["title"] . "\n";
   }
?>

程序執(zhí)行的結(jié)果如下所示:

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

更新文檔

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

下例將把插入文檔的標(biāo)題改為 MongoDB Tutorial。代碼段如下所示:

<?php
   // connect to mongodb
   $m = new MongoClient();
   echo "Connection to database successfully";
   // select a database
   $db = $m->mydb;
   echo "Database mydb selected";
   $collection = $db->mycol;
   echo "Collection selected succsessfully";

   // now update the document
   $collection->update(array("title"=>"MongoDB"), array('$set'=>array("title"=>"MongoDB Tutorial")));
   echo "Document updated successfully";
   // now display the updated document
   $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
Document updated successfully
Updated document
{
   "title": "MongoDB Tutorial"
}

刪除文檔

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

下例中將把標(biāo)題為 MongoDB Tutorial 的文檔全部刪除。代碼如下所示:

<?php
   // connect to mongodb
   $m = new MongoClient();
   echo "Connection to database successfully";
   // select a database
   $db = $m->mydb;
   echo "Database mydb selected";
   $collection = $db->mycol;
   echo "Collection selected succsessfully";

   // now remove the document
   $collection->remove(array("title"=>"MongoDB Tutorial"),false);
   echo "Documents deleted successfully";

   // now display the available documents
   $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

在上述范例中,第二個(gè)參數(shù)是布爾值類型,用于 remove() 方法的 justOne 字段。

剩余的 mongodb 的 findOne()、save()、limit()、skip()、sort() 等方法將在教程剩余部分予以介紹。

上一篇:高級(jí)索引下一篇:映射