mongodb test practice
ここ数日NOSQLデータベースmongodbに触れて、いくつかのテスト練習をして、ここで整理します.
詳細については、公式チュートリアルhttp://www.mongodb.org/pages/viewpage.action?pageId=5079170を参照してください.
/**
* mongodb {name:'mongo', type=>'db'}
* Test practice
*
* @author flyer0126
* @date 2011/08/31
*/
// connect (connect the unit 27017 port default).
$mongo = new Mongo();
//Lists all of the databases available.
$dbs = $mongo->listDBs();
//Gets a database named 'flyer'.
$flyerdb = $mongo->selectDB('flyer');
//Get a list of collections in 'flyerdb' database.
$flyers = $flyerdb->listCollections();
//Gets a collection named 'flyer0126'.
$flyer0126 = $flyerdb->selectCollection('flyer0126');
//record array.
$obj = array('title'=>' ', 'author'=>' ', 'created'=>date('Y-m-d H:i:s'));
//Saves $obj1 to this collection.
$flyer0126->save($obj);
//Counts the number of documents where {title:' 1'} in this collection.
$number = $flyer0126->count(array('title'=>' '));
//Querys this collection $flyer0126.
$res = $flyer0126->find();
foreach ($res as $obj){
print_r($obj);
echo "<br/>";
}
//echo content:
/*Array ( [_id] => MongoId Object ( [$id] => 4e5d979d250813880c000016 ) [title] => [author] => [created] => 2011-08-31 10:08:29 )*/
//Querys this collection, returning a single element(Similar to 'limit 1' in sql).
$res1 = $flyer0126->findOne();
print_r($res1);
echo "<br/>";
//echo content:
/*Array ( [_id] => MongoId Object ( [$id] => 4e5d979d250813880c000016 ) [title] => [author] => [created] => 2011-08-31 10:08:29 )*/
//Update records based on a given criteria.
$flyer0126->update(array('title'=>' '), array('$set' => array('title'=>' test')));
//Querys this collection 'flyer0126'.
$res = $flyer0126->find();
foreach ($res as $obj){
print_r($obj);
echo "<br/>";
}
//echo content:
/*Array ( [_id] => MongoId Object ( [$id] => 4e5d979d250813880c000016 ) [author] => [created] => 2011-08-31 10:08:29 [title] => test )*/
//Remove records from this collection.
$flyer0126->remove(array('title'=>' '));
//Drops this collection 'flyer0126'.
$flyer0126->drop('flyer0126');
//Drops a database 'flyer'.
$mongo->dropDB('flyer');
詳細については、公式チュートリアルhttp://www.mongodb.org/pages/viewpage.action?pageId=5079170を参照してください.