MongoDBをphpから操作する方法。
前回の記事でMongoDBをインストールしましたので、MongoDBをphpから操作してみました。
CentOS5.4にMongoDBをインストールする方法! - @camelmasaの開発日記
testデータベース&testコレクションの作成
testデータベース&testコレクションの作成には下記のスクリプトを使用しました。
(Mongoクラスのコンストラクタは適切な値を設定して下さい。)
<?php $mongo = new Mongo("192.168.80.139:27017"); $db = $mongo->selectDB("test"); $col = $db->createCollection("test"); $col->insert(array("test" => "test"));
スクリプトを実行すると、/data/db内にデータベースファイルが作成されます。
-rwxr-xr-x 1 root root 5 2月 22 15:14 mongod.lock -rw------- 1 root root 67108864 2月 21 21:52 test.0 -rw------- 1 root root 134217728 2月 21 21:52 test.1 -rw------- 1 root root 16777216 2月 21 21:52 test.ns
SQLiteの様にデータベースの持ち運びも楽そうですね。
(しかしファイルサイズが大きいかも…)
PECLパッケージPECL::Package::mongoのインストール
phpから操作する為にPECL::Package::mongoをインストールします。
pecl install mongo
その後php.iniにextension=mongo.soを追加します。
extension=mongo.so
これでPECLパッケージPECL::Package::mongoのインストールが出来ました。
(ブラウザからphpを実行する場合は、httpデーモンをリスタートすると有効になります。)
phpからMongoDBを操作
PECLパッケージPECL::Package::mongoがインストール&設定が出来たので、
mongodb.phpの編集
<?php $mongo = new Mongo(); $db = $mongo->selectDB("test"); $col = $db->selectCollection("test"); $cursor = $col->findOne(); var_dump($cursor);
上記のphpの実行結果です。
php mongodb.php array(2) { ["_id"]=> object(MongoId)#6 (0) { } ["test"]=> string(4) "test" }
phpからMongoDBのtestデータベース内のtestコレクションのデータを取得する事が出来ました!
まとめ
PPECLパッケージPECL::Package::mongoでMongoDBの値の取得を行う事が出来ました。
次こそはCouchDB,MongoDB,MySQLをphpで実行した実行速度を計測してみたいと思います。
[PR]Spreeの情報を集めています。
ECを持ちたい方、仕事でECを使いたい方向けのコミュニティサイトです。
このサイトでは世界で最も使用されているECの1つであるSpreeについての情報を提供しています。
http://spreecommerce.jp/