今回はMongoDBをPHPから使う方法です。
すごく簡単でした。
環境構築
ここを参考にします。
まずは拡張パッケージのインストール
sudo pecl install mongo
次にphp.iniに
extension=mongo.soを追記します。
php.iniが何処にあるかわからない場合はphpinfo()を実行すると場所がわかります。
CentOS6でyumを使ってデフォルトのままインストールすると/etcの下にあると思います。
これで環境構築は終わりです。
チュートリアルを試す
これに従います。
コメントを追記したものを下に貼り付けてみます。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// MongoDBに接続 localhost:27017 | |
$m = new Mongo(); | |
// リモートホストにデフォルトポート27017で接続 | |
// $m = new Mongo("exsample.com"); | |
//リモートホストに任意のポートで接続(xxxxxはポート番号) | |
// $m = new mongo("exsample.com:xxxxx"); | |
/* | |
データベースは $m->dbname; で選択できる。 | |
存在しなければ作成される。 | |
これは便利ではあるが、タイプミスをした場合、 | |
そのままデータベースが作成されてしまうので気をつけて下さい。 | |
*/ | |
// データベース(comedy)を選択 | |
$db = $m->comedy; | |
/* | |
コレクションもデータベースと同様に | |
$db->collection_name; で取得できます。 | |
存在しなければ作成されます。 | |
コレクション≒テーブル | |
*/ | |
// コレクション(cartoons)を取得 | |
$collection = $db->cartoons; | |
// コレクションにドキュメントを挿入します。 | |
// まずはドキュメントを作成します。 | |
/* | |
JSON形式を意識して | |
key => valueでドキュメントを連想配列として作成します。 | |
*/ | |
$obj = array("title" => "Calvin and Hobbes", "author" => "Bill Watterson"); | |
// コレクションにドキュメントを挿入 | |
$collection->insert($obj); | |
// 別のドキュメントを作成し、挿入します。 | |
$obj = array("title" => "XKCD", "online" => true ); | |
$collection->insert($obj); | |
// ドキュメントを全件取得します | |
$cursor = $collection->find(); | |
// 全て表示します | |
foreach($cursor as $obj){ | |
echo $obj["title"] . "\n"; | |
} | |
?> |
何回も実行すると、どんどんドキュメントが増えていきます。
実行後にMongoDBコンソールでデータベースが作成されていることを確かめます。
MongoDBコンソールを起動
mogno
データベースが出来ていることの確認(comedyが在ればOK)
show dbs;
データベースの選択
use comedy
コレクションの一覧取得(cartoonsが在ればOK)
db.getCollectionNames();
ドキュメントの一覧取得
db.cartoons.find();
チュートリアルの下の方には様々な関数の使い方などが解説されています。
時間があれば、そのうち記事にしようと思います。
以上です。
0 件のコメント:
コメントを投稿