(バージョン情報なし。おそらく SVN 版にしか存在しないでしょう)
MongoCursor::doQuery — クエリを実行する
この関数はデータベースへのクエリを実行します。すべてのクエリやコマンドは、この関数を通して実行します。 従って、この関数をオーバーライドすれば独自のクエリ処理機能を提供することができます。
この関数では、クエリのシリアライズとデータベースへの送信、 結果の受け取り、そして受け取った結果のデシリアライズを担当します。 オーバーライドしようとうするときは、おそらくは元の関数をコールして既存の機能を使うことになるでしょう (以下の例を参照ください)。
この関数にはパラメータはありません。
NULL
を返します。
データベースに接続できない場合に MongoConnectionException をスローします。
例1 MongoCursor::doQuery() の例
この関数をオーバーライドすると、スレーブに対してクエリを発行して 失敗した場合はマスタに向けて再発行することができます。
<?php
class MyCursor extends MongoCursor {
protected function doQuery() {
$this->slaveOkay();
try {
MongoCursor::doQuery();
}
catch(MongoCursorException $e) {
$this->slaveOkay(false);
MongoCursor::doQuery();
}
}
}
?>