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