(PECL mongo >=0.9.0)
このクラスのインスタンスを使用してデータベースとのやりとりを行います。 データベースを取得するには、このようにします。
例1 データベースの選択
<?php
$m = new MongoClient(); // 接続
$db = $m->selectDB("example");
?>
あまり一般的ではありませんが、 "null"、"[x,y]"、"3"、"\""、"/" などは正しい形式のデータベース名です。
コレクション名とは異なり、データベース名には "$" を含めてもかまいません。
MongoDB::PROFILING_OFF
MongoDB::PROFILING_SLOW
MongoDB::PROFILING_ON
成功を返す前に変更をレプリケートするサーバーの数。このクラスの派生クラスである
MongoCollection に継承されます。
w
の機能が使えるのは、バージョン 1.5.1 以降の MongoDB サーバーと
バージョン 1.0.8 以降のドライバを使っている場合のみです。
w
は、通知レベルを調整したい場合に使います
(MongoCollection::insert() や
MongoCollection::update()、
MongoCollection::remove()、
MongoCollection::save() そして
MongoCollection::ensureIndex()
はすべて、このオプションをサポートしています)。
デフォルト値 (1) の場合、安全な操作は、
データベースサーバーでの操作が一度成功すれば結果を返します。
セカンダリへのレプリケーションが完了する前にサーバーが落ちてしまうと、
その操作が永遠に失われてしまう可能性があります。そこで
w
の値を 1 より大きく設定し、
少なくとも一台のセカンダリでの操作が完了してからでないと処理が成功したと見なさないようにするのです。
たとえば w
を 2 にすると、メインのサーバー以外に
ひとつのセカンダリ上で操作が記録されない限り、ドライバは
MongoCursorException をスローします。
w
の数をプライマリと全セカンダリの総数に設定したくなるかもしれませんが、
もしそうすると、ひとつのセカンダリがダウンしただけで操作が失敗して例外が発生するようになります。
通常は、w=2
(プライマリ、そしてセカンダリ一台)
としておくのがいちばん安全でしょう。
MongoDB::$w
のレプリケーションが完了するまでに待つミリ秒数。
このクラスの派生クラスである MongoCollection に継承されます。
w
の機能が使えるのは、バージョン 1.5.1 以降の MongoDB サーバーと
バージョン 1.0.8 以降のドライバを使っている場合のみです。
wtimeout
を設定しなければ、w
のサーバーへのレプリケーションが完了するまでずっと待ち続けます。
ドライバのデフォルトは 10 秒ですが、この値を変更して挙動を変えることができます。
MongoDB コアドキュメントの » データベース を参照ください。