このクラスのインスタンスを使用してデータベースとのやりとりを行います。 データベースを取得するには、このようにします。
<?php
$m = new Mongo(); // 接続
$db = $m->selectDB("example");
?>
あまり一般的ではありませんが、 "null"、"[x,y]"、"3"、"\""、"/" などは正しい形式のデータベース名です。
コレクション名とは異なり、データベース名には "$" を含めてもかまいません。
成功を返す前に変更をレプリケートするサーバの数。このクラスの派生クラスである 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 コアドキュメントの » データベース を参照ください。