您好,登錄后才能下訂單哦!
使用PHP怎么對MongoDB[NoSQL]數(shù)據(jù)庫進(jìn)行操作?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
一、MongoDB簡介
MongoDB (名稱來自"humongous") 是一個可擴(kuò)展的、高性能、開源、模式自由、面向文檔的數(shù)據(jù)庫,集文檔數(shù)據(jù)庫、鍵值對存儲和關(guān)系型數(shù)據(jù)庫的優(yōu)點于一身。官方站點:http://www.mongodb.org/,MongoDB特點:
?面向文檔存儲(類JSON數(shù)據(jù)模式簡單而強(qiáng)大)
?動態(tài)查詢
?全索引支持,擴(kuò)展到內(nèi)部對象和內(nèi)嵌數(shù)組
?查詢記錄分析
?快速,就地更新
?高效存儲二進(jìn)制大對象 (比如照片和視頻)
?復(fù)制和故障切換支持
?Auto-Sharding自動分片支持云級擴(kuò)展性
?MapReduce 支持復(fù)雜聚合
?商業(yè)支持,培訓(xùn)和咨詢
二、安裝MongoDB
安裝MongoDB非常的簡單,僅需下載壓縮包解壓運行命令即可,下載地址:http://www.mongodb.org/downloads,本文為windows平臺,MongoDB運行命令:>bin/mongod。提示:首先要創(chuàng)建存儲數(shù)據(jù)的文件夾,MongoDB 默認(rèn)存儲數(shù)據(jù)目錄為 /data/db/ (或者 c:\data\db),當(dāng)然你也可以修改成不同目錄,只需要指定 --dbpath 參數(shù),eg:
>bin/mongod --dbpath=d:\mgdata\db
三、安裝MongoDB PHP擴(kuò)展
根據(jù)自己的PHP版本下載PHP擴(kuò)展: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服務(wù)器。
四、PHP示例
1、連接Mongo服務(wù)器
復(fù)制代碼 代碼如下:
<?php
//連接localhost:27017
$conn = new Mongo();
//連接遠(yuǎn)程主機(jī)默認(rèn)端口
$conn = new Mongo('test.com');
//連接遠(yuǎn)程主機(jī)22011端口
$conn = new Mongo('test.com:22011');
//MongoDB有用戶名密碼
$conn = new Mongo("mongodb://${username}:${password}@localhost");
//MongoDB有用戶名密碼并指定數(shù)據(jù)庫blog
$conn = new Mongo("mongodb://${username}:${password}@localhost/blog");
//多個服務(wù)器
$conn = new Mongo("mongodb://localhost:27017,localhost:27018");
?>
2、指定數(shù)據(jù)庫和數(shù)據(jù)集名(表名)
復(fù)制代碼 代碼如下:
<?php
//選擇數(shù)據(jù)庫blog
$db = $conn->blog;
//制定結(jié)果集(表名: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、關(guān)閉連接
<?php
$conn->close();
?>
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。