mongodb test practice

3106 ワード

ここ数日NOSQLデータベースmongodbに触れて、いくつかのテスト練習をして、ここで整理します.
/**
 * 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を参照してください.