一、MongoDB簡介
MongoDB (名稱來自"humongous") 是一個可擴充的、高效能、開源、模式自由、面向文檔的資料庫,集文檔資料庫、索引值對儲存和關係型資料庫的優點於一身。官方網站:http://www.mongodb.org/,MongoDB特點:
•面向文檔儲存(類JSON資料模式簡單而強大)
•動態查詢
•全索引支援,擴充到內部對象和內嵌數組
•查詢記錄分析
•快速,就地更新
•高效儲存二進位大對象 (比如照片和視頻)
•複製和故障切換支援
•Auto-Sharding自動分區支援雲級擴充性
•MapReduce 支援複雜彙總
•商業支援,培訓和諮詢
二、安裝MongoDB
安裝MongoDB非常的簡單,僅需下載壓縮包解壓運行命令即可,:http://www.mongodb.org/downloads,本文為windows平台,MongoDB運行命令:>bin/mongod。提示:首先要建立儲存資料的檔案夾,MongoDB 預設儲存資料目錄為 /data/db/ (或者 c:\data\db),當然你也可以修改成不同目錄,只需要指定 --dbpath 參數,eg:
>bin/mongod --dbpath=d:\mgdata\db
三、安裝MongoDB PHP擴充
根據自己的PHP版本下載PHP擴充:http://www.php.net/manual/en/mongo.installation.php#mongo.installation.windows,提示:
1、VC6適合Apache、VC9適合IIS;
2、Thread safe適合PHP以模組運行方式、Non-thread safe適合CGI運行方式。
修改php.ini,加入:extension=php_mongo.dll,重啟Web伺服器。
四、PHP樣本
1、串連Mongo伺服器
複製代碼 代碼如下:<?php
//串連localhost:27017
$conn = new Mongo();
//串連遠程主機預設連接埠
$conn = new Mongo('test.com');
//串連遠程主機22011連接埠
$conn = new Mongo('test.com:22011');
//MongoDB有使用者名稱密碼
$conn = new Mongo("mongodb://${username}:${password}@localhost");
//MongoDB有使用者名稱密碼並指定資料庫blog
$conn = new Mongo("mongodb://${username}:${password}@localhost/blog");
//多個伺服器
$conn = new Mongo("mongodb://localhost:27017,localhost:27018");
?>
2、指定資料庫和資料集名(表名)複製代碼 代碼如下:<?php
//選擇資料庫blog
$db = $conn->blog;
//制定結果集(表名:users)
$collection = $db->users;
?>
3、CRUD
<?php
//新增
$user = array('name' => 'caleng', 'email' => 'admin@admin.com');
$collection->insert($user);
//修改
$newdata = array('$set' => array("email" => "test@test.com"));
$collection->update(array("name" => "caleng"), $newdata);
//刪除
$collection->remove(array('name'=>'caleng'), array("justOne" => true));
//尋找
$cursor = $collection->find();
var_dump($cursor);
//尋找一條
$user = $collection->findOne(array('name' => 'caleng'), array('email'));
var_dump($user);
?>
4、關閉串連
<?php
$conn->close();
?>