MongoDB クラス
(PECL mongo >=0.9.0)
はじめに
このクラスのインスタンスを使用してデータベースとのやりとりを行います。 データベースを取得するには、このようにします。
例1 データベースの選択
<?php
$m = new MongoClient(); // 接続
$db = $m->selectDB("example");
?>
あまり一般的ではありませんが、 "null"、"[x,y]"、"3"、"\""、"/" などは正しい形式のデータベース名です。
コレクション名とは異なり、データベース名には "$" を含めてもかまいません。
クラス概要
$preserve_cloned_files = FALSE
[, bool $backup_original_files = FALSE
]] ) : array定義済み定数
MongoDB ログレベル
MongoDB::PROFILING_OFF-
0 - プロファイリングをオフにします。
MongoDB::PROFILING_SLOW-
1 - 襲い接続 (>100 ms) に対するプロファイリングをオンにします。
MongoDB::PROFILING_ON-
2 - すべての操作に対するプロファイリングをオンにします。
フィールド
- w
- 1
-
成功を返す前に変更をレプリケートするサーバーの数。このクラスの派生クラスである 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 (プライマリ、そしてセカンダリ一台) としておくのがいちばん安全でしょう。
- wtimeout
- 10000
-
MongoDB::$w のレプリケーションが完了するまでに待つミリ秒数。 このクラスの派生クラスである MongoCollection に継承されます。 w の機能が使えるのは、バージョン 1.5.1 以降の MongoDB サーバーと バージョン 1.0.8 以降のドライバを使っている場合のみです。
wtimeout を設定しなければ、w のサーバーへのレプリケーションが完了するまでずっと待ち続けます。 ドライバのデフォルトは 10 秒ですが、この値を変更して挙動を変えることができます。
参考
MongoDB コアドキュメントの » データベース を参照ください。
目次
- MongoDB::authenticate — このデータベースにログインする
- MongoDB::command — データベースコマンドを実行する
- MongoDB::__construct — 新しいデータベースを作成する
- MongoDB::createCollection — コレクションを作成する
- MongoDB::createDBRef — データベース参照を作成する
- MongoDB::drop — このデータベースを削除する
- MongoDB::dropCollection — コレクションを削除する [非推奨]
- MongoDB::execute — JavaScript コードをデータベースサーバー上で実行する [非推奨]
- MongoDB::forceError — データベースのエラーを作成する
- MongoDB::__get — コレクションを取得する
- MongoDB::getCollectionInfo — Returns information about collections in this database
- MongoDB::getCollectionNames — このデータベースのすべてのコレクション名の配列を取得する
- MongoDB::getDBRef — データベース参照が指すドキュメントを取得する
- MongoDB::getGridFS — このデータベースに格納されているファイルを扱うためのツールキットを取得する
- MongoDB::getProfilingLevel — このデータベースのプロファイリングレベルを取得する
- MongoDB::getReadPreference — このデータベースの優先読み込みを取得する
- MongoDB::getSlaveOkay — このデータベースの slaveOkay 設定を取得する
- MongoDB::getWriteConcern — Get the write concern for this database
- MongoDB::lastError — 直近のデータベース操作でエラーが発生したかどうかを調べる
- MongoDB::listCollections — このデータベース内のすべてのコレクションの MongoCollection オブジェクトの配列を取得する
- MongoDB::prevError — データベース操作中の直近に発生したエラーを調べる
- MongoDB::repair — このデータベースを修復・圧縮する
- MongoDB::resetError — データベースで発生したすべてのエラーをクリアする
- MongoDB::selectCollection — コレクションを取得する
- MongoDB::setProfilingLevel — このデータベースのプロファイリングレベルを設定する
- MongoDB::setReadPreference — このデータベースの優先読み込みを設定する
- MongoDB::setSlaveOkay — Change slaveOkay setting for this database
- MongoDB::setWriteConcern — Set the write concern for this database
- MongoDB::__toString — このデータベースの名前