かめのはこ

とあるエンジニアのメモ帳です

phpからmongodbしてみる

 
まずは php-mongoモジュールインストール

sudo pecl install mongo
sudo vi /etc/php5/conf.d/mongo.ini
 
extension=mongo.so
[mongo]
mongo.native_long=0
mongo.long_as_object=0
mongo.default_host="localhost"
mongo.default_port=27017
mongo.auto_reconnect=true
mongo.allow_persistent=true
mongo.chunk_size=262144
mongo.cmd="$"
mongo.utf8="1"
mongo.allow_empty_keys=0
 
// ※オプション設定
// 参考 http://www.php.net/manual/ja/mongo.configuration.php
 

apache再起動

// モジュール確認
php -i | grep -i mongo

では次にphpしてみる

$m = new Mongo("localhost:27017");
$db = $m->my_app;
$collection = $db->posts;
$cursor = $collection->find();
foreach($cursor as $obj){
    echo $obj["title"] . "\n";
}

// データ構成は
// use my_app
// db.posts.find()
// { "_id" : ObjectId("4e72e87de9a987c61c31b3cd"), "title" : "hoge" }
// { "_id" : ObjectId("4e72e87de9a987c61c31b4cd"), "title" : "sage" }

 
フレームワークを介さずにfindが使えるのはいいですね
※オプション設定
参考 http://www.php.net/manual/ja/mongo.sqltomongo.php

find( array([column]=>[value]) ); // where [column] = [value]