2010.07.20
PHPerの為のMongoDB入門
最近巷でよく聞くNoSQL(Not Only SQL)
試してみたくてPHPから簡単に使えるものはないものか・・・と色々探した結果たどり着いたのがMongoDBでした。
今回はインストールから、簡単に使ってみるところまで紹介します
[MongoDBとは?]
http://ja.wikipedia.org/wiki/MongoDB
[インストール方法]
1.yumにリポジトリを追加する
$ vim /etc/yum.repos.d/10gen.repo
下記を記入
[10gen]
name=10gen Repository
baseurl=http://downloads.mongodb.org/distros/centos/5.4/os/$basearch/
gpgcheck=0
enabled=1
2.MongoDBのインストール
リポジトリを追加したのでinstallするだけ
$ yum -y install mongo-stable*
ちゃんとインストールできたか確認しましょう
$ mongod –version
下記のような結果が返ってきます
db version v1.4.4, pdfile version 4.5
Tue Jul 20 16:50:24 git version: 9dcac11bd72c7cb34ca278313f033efcdd4908eb
3.MongoDBの起動
yumで入れたので起動もごくごく普通に起動できます
$ /etc/init.d/mongod start
4.PHPのモジュールを追加する
PHPerとしてはここからが本題、mongoモジュールはpeclに用意されているのでpeclコマンドを使います
pecl install mongo
peclコマンドが使えないって場合はphp-pearがモジュールにあるか確認しましょう(結構はまった)
peclでインストールしたときのお約束
vi /etc/php.d/mongo.ini
以下を書き込みます
extension=mongo.so
確認
php -m
mongoが追加されてない場合はhttpdを再起動して確認してください。
これで使う準備は出来ました。
[簡単な使い方]
extensionの有無を確認する
if (!extension_loaded(’mongo’)) die (’Mongoがインストールされてないよ’);
接続する
$mongo = new Mongo(’mongodb://localhost:27017′);
コネクションを確認する
if (!$mongo->connected) die(’接続されてません!’);
使うdatabaseを選択
$db = $mongo->selectDB( “testdb” );
使うtableを選択(mongoではtableのことをcollectionと呼ぶ)
$col = $db->selectCollection( “testcollection” );
insert
$col->insert( $data );
select
$cursor = $col->find();
foreach ($cursor as $id =>$obj) {
var_dump( $obj );
}
こんな感じでMySQL等とほぼ同じ感覚でデータを操作することが出来ます。
かなり駆け足でしたがMongoDBの入門でした。
最近ではこれをデフォルトとするフレームワークも誕生していますし一度試してみてはいかがでしょうか?
参考URL
http://d.hatena.ne.jp/ja9/20100707/1278495362
http://d.hatena.ne.jp/nazone/20091126/p1
http://labs.unoh.net/2010/07/hellolithium.html
Trackback URL
Comment & Trackback
Comment feed
Comment