PHP プログラムから MongoDB 内の Collection を参照する
今、私はテスト環境として、Twitter のアカウントとそのパスワードを test データベース内の twitter コレクションに
{ "username" : "(アカウント ID)" , "pass" : "(パスワード)" }
の形式で入れてある。PHP を用いてこのコレクションの一覧を TABLE 形式で打ち出すプログラムを書いてみた。
<?php header("Content-Type: text/html; charset=UTF-8"); header("Content-Language: ja"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head> <title>MongoDB 接続テスト</title> </head> <body> <h1>Twitter アカウント一覧</h1> <table summary="Twitter アカウント一覧" border="1"> <tr><th>ユーザー名</th><th>パスワード</th></tr> <?php try { $link = new Mongo(); $res = $link -> test -> twitter -> find(); foreach($res as $doc) { $username = $doc["username"]; $pass = $doc["pass"]; echo "<tr><td>$username</td><td>$pass</td></tr>\n"; } } catch(MongoCollectionException $e) { die("コネクションを確立できません。"); } ?> </table> </body> </html>
$link に新しい Mongo オブジェクトを入れて
$link -> test
で test データベースを呼び出して
$link -> test -> twitter
でさらに test 内の twitter コレクションを呼び出し
$link -> test -> twitter -> find();
でコレクション内のデータをすべて取得する。後は各データごとに適宜処理してます。で、これを実行するとこんな感じ。
何で 5 個もアカウント持ってるんだよ ! っていうツッコミは無し。同じことを MySQL とかでやるとソースコードが長くなって面倒です。