MongoDB와 PHP 연동

2012.07.15 22:53

가을의 곰을... 조회 수:4767

MongoDB와 PHP 연동

[출처] http://hompy.info/587

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

문서 지향 데이타베이스인 MongoDB를 PHP로 다뤄보자

인터넷서버 운영 2009/08/21 00:19

문서 지향 데이타베이스(Document Oriented Database) 몽고디비(MongoDB)를 테스트 하기 위한 PHP 소스 코드를 준비했습니다. 아래 소스 코드를 살펴보시면 PHP로 몽고디비에 접근하는 방법을 파악할 수 있습니다. 이에 대해 좀더 알아보고 싶다면 PHP 튜토리얼PHP 메뉴얼을 체크해보세요. 그리고 직접 테스트 해보려면 PHP 드라이버 설치를 해야 합니다. 드라이버도 설치하고 문서도 숙지해서 개발 환경을 갖추었다면 몽고디비를 실전에 응용해보는 것은 어떨까요? 거대한 자료 묶음을 빠르게 제어한다는 이 데이타베이스의 장점을 살려 위키(Wiki)나 블로그 또는 트위터 같은 소셜 네트워크 사이트를 만들어 봐도 좋은 것 같네요.

[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(', &nbsp; ',' : ','{ ',' }'), $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"] }

웹프로그래머의 홈페이지 정보 블로그 http://hompy.info/587
본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
175 이통사 OpenAPI file 가을의 곰을... 2012.08.22 4175
174 포털 OpenAPI file 가을의 곰을... 2012.08.22 4099
173 공공기관 OpenAPI 가을의 곰을... 2012.08.22 3356
172 멀티부팅시 우분투 GRUB 복구하기.. file 가을의 곰을... 2012.08.21 6025
171 Hadoop HDFS BASIC Usage Over View : 하둡 사용 개요 가을의 곰을... 2012.08.20 5378
170 HDFS 테스트 file 가을의 곰을... 2012.08.20 4560
169 클라우드 기반의 재해복구 시스템 (DRS system) 구축 분석에 대한 논문 가을의 곰을... 2012.08.20 4576
168 오픈 소스 클라우드 분석 file 가을의 곰을... 2012.08.20 3896
167 Visual studio 2010 에서 소스파일을 UTF-8 로 자동변환 file 가을의 곰을... 2012.08.19 3622
166 HTML5로 자신만의 3D 엔진을 만들자 file 가을의 곰을... 2012.07.29 8303
165 SQL 쿼리를 NoSQL인 MongoDB 쿼리로 변경하기 가을의 곰을... 2012.07.29 4249
164 GitHub 소개글 - 류광님 가을의 곰을... 2012.07.29 3523
163 GIT Server 구축 : LINUX UBUNTU, MS WIN file 가을의 곰을... 2012.07.28 5786
162 git 서버 설치 요령 file 가을의 곰을... 2012.07.28 4020
161 mongoDB와 PHP 참고자료 가을의 곰을... 2012.07.15 4845
» MongoDB와 PHP 연동 가을의 곰을... 2012.07.15 4767
159 phpmyadmin과 비슷하게 mongoDB를 php 서버로 관리하기 위한 phpMoAdmin file 가을의 곰을... 2012.07.15 10935
158 Hadoop을 이용한 분산 데이터 처리, Part 3: 애플리케이션 개발 file 가을의 곰을... 2012.07.15 3577
157 Hadoop을 이용한 분산 데이터 처리, Part 2: 추가 주제 file 가을의 곰을... 2012.07.15 3979
156 Hadoop을 이용한 분산 데이터 처리, Part 1: 시작 file 가을의 곰을... 2012.07.15 4444
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED