[MongoDB 테스트를 위한 소스 코드]
<?
include "Mongo/Auth.php";
$auth = new MongoAuth("192.168.10.123:27017");
$auth->login("desk", "tiger", "ti_password");
if (!$auth->loggedIn) {
echo $auth->error;
exit;
}
$coll = $auth->db->selectCollection("person.data");
$coll->drop();
if (!$coll->count()) {
$obj = array( "name" => "kim", "age" => 21 );
$coll->insert($obj);
$obj = array( "name" => "song", "age" => 18 );
$coll->insert($obj);
$obj = array( "name" => "lee", "age" => 23 );
$coll->insert($obj);
$obj = array( "name" => "han", "age" => 18 );
$coll->insert($obj);
$obj = array( "name" => "choi", "age" => 19 );
$coll->insert($obj);
$coll->ensureIndex(array('name' => 1), true);
$coll->ensureIndex(array('age' => 1), false);
$coll->deleteIndex("age");
}
$obj = array( '$set' => array("age"=>29 ) );
$coll->update(array("name"=>"choi"),$obj);
$obj = array( '$set' => array("age"=>21, "sex"=>"f", "tags"=>array()) );
$coll->update(array("name"=>"choi"),$obj);
$obj = array( '$push' => array("tags" => "game"));
$coll->update(array("name"=>"choi"),$obj);
$obj = array( '$push' => array("tags" => "movie"));
$coll->update(array("name"=>"choi"),$obj);
$obj = array( '$pushAll' => array("tags" => array("music","sports")));
$coll->update(array("name"=>"choi"),$obj);
$obj = array( '$pullAll' => array("tags" => array("music","love")));
$coll->update(array("name"=>"choi"),$obj);
$query = array('age'=>array('$gt'=>18));
$cursor = $coll->find($query)->sort(array("age"=>-1));
displayCursor($cursor);
$auth->logout();
exit;
function displayCursor($cursor){
while ($cursor->hasNext()) {
$obj = $cursor->getNext();
echo displayObject($obj);
echo "<br>\n";
}
}
function displayObject($obj){
$str = json_encode($obj);
$str = preg_replace('/"([a-z_][a-z0-9_]*)":/','<FONT color=#888888>4309</FONT>:', $str);
$str = preg_replace('/"([a-z_][a-z0-9_]*)"/','<FONT color=#cc3333>"4309"</FONT>', $str);
$str = str_replace(Array(',',':','{','}'), Array(', ',' : ','{ ',' }'), $str);
return $str;
}
?>
include "Mongo/Auth.php";
$auth = new MongoAuth("192.168.10.123:27017");
$auth->login("desk", "tiger", "ti_password");
if (!$auth->loggedIn) {
echo $auth->error;
exit;
}
$coll = $auth->db->selectCollection("person.data");
$coll->drop();
if (!$coll->count()) {
$obj = array( "name" => "kim", "age" => 21 );
$coll->insert($obj);
$obj = array( "name" => "song", "age" => 18 );
$coll->insert($obj);
$obj = array( "name" => "lee", "age" => 23 );
$coll->insert($obj);
$obj = array( "name" => "han", "age" => 18 );
$coll->insert($obj);
$obj = array( "name" => "choi", "age" => 19 );
$coll->insert($obj);
$coll->ensureIndex(array('name' => 1), true);
$coll->ensureIndex(array('age' => 1), false);
$coll->deleteIndex("age");
}
$obj = array( '$set' => array("age"=>29 ) );
$coll->update(array("name"=>"choi"),$obj);
$obj = array( '$set' => array("age"=>21, "sex"=>"f", "tags"=>array()) );
$coll->update(array("name"=>"choi"),$obj);
$obj = array( '$push' => array("tags" => "game"));
$coll->update(array("name"=>"choi"),$obj);
$obj = array( '$push' => array("tags" => "movie"));
$coll->update(array("name"=>"choi"),$obj);
$obj = array( '$pushAll' => array("tags" => array("music","sports")));
$coll->update(array("name"=>"choi"),$obj);
$obj = array( '$pullAll' => array("tags" => array("music","love")));
$coll->update(array("name"=>"choi"),$obj);
$query = array('age'=>array('$gt'=>18));
$cursor = $coll->find($query)->sort(array("age"=>-1));
displayCursor($cursor);
$auth->logout();
exit;
function displayCursor($cursor){
while ($cursor->hasNext()) {
$obj = $cursor->getNext();
echo displayObject($obj);
echo "<br>\n";
}
}
function displayObject($obj){
$str = json_encode($obj);
$str = preg_replace('/"([a-z_][a-z0-9_]*)":/','<FONT color=#888888>4309</FONT>:', $str);
$str = preg_replace('/"([a-z_][a-z0-9_]*)"/','<FONT color=#cc3333>"4309"</FONT>', $str);
$str = str_replace(Array(',',':','{','}'), Array(', ',' : ','{ ',' }'), $str);
return $str;
}
?>
[MongoDB 테스트 실행 결과]
{ _id : { }, name : "lee", age : 23 }
{ _id : { }, name : "kim", age : 21 }
{ _id : { }, name : "choi", age : 21, sex : "f", tags : ["game", "movie", "sports"] }
{ _id : { }, name : "kim", age : 21 }
{ _id : { }, name : "choi", age : 21, sex : "f", tags : ["game", "movie", "sports"] }
웹프로그래머의 홈페이지 정보 블로그 http://hompy.info/587