PHP-MongoDB入門使用

需要安裝PHP mongo extension

安裝參考: http://www.w3big.com/zh-TW/mongodb/mongodb-install-php-driver.html

connect mongo

預設會連接到mongodb://localhost:27017

1
$mongo = new MongoClient();

use db

db不存在會自動產生一個新的,建立一個叫myDB的資料庫

1
$db = $mongo->myDB;

show dbs

取得所有db的資訊與統計(Array),空db不會列出來

1
$dbs = $mongo->listDBs();

最後還有一個totalSize標示出總大小

create collection

建立一個叫users的集合

1
$collection = $db->createCollection('users');

show collections

取得所有$db中的集合資訊(Array)

1
$db->listCollections();

insert data

在集合中插入一筆資料,$data是一個Array

1
$collection->insert($data);

find data

取得一個MongoCursor Object,
必須使用迴圈讀取

1
2
3
4
$cursor = $collection->find();
foreach ($cursor as $data) {
print_r($data);
}

update data

把所有id = 1的資料的age更新成25

1
$collection->update(array('id' => 1), array('$set' => array('age' => 25)));

remove data

1
$collection->remove();

insert() vs save()

在mongo shell中直接輸入指令不加括號可以看到執行的函數內容。

insert()是直接插入資料,效率較好

save()會先判斷是否有重複,如果資料存在就呼叫update(),反之insert()

推薦文章