MongoCursor::setFlag
(PECL mongo >=1.2.11)
MongoCursor::setFlag — 専用のメソッドが存在しない任意のフラグを設定する
説明
MongoCursor クラスには、クエリオブジェクトのフラグを設定するいくつかのメソッドがあります。 このメソッドを使うのは、MongoDB wire プロトコルが新たなフラグを取得したけれども ドライバ側にはそのフラグ用のメソッドが用意されていないという場合です。 その他の場合は、専用のメソッドを使いましょう。 「参考」に、使えるメソッドの一覧があります。
パラメータ
-
flag -
設定するフラグ。フラグ 3 (OPLOG REPLAY) あるいはフラグ 6 (EXHAUST) を設定できますが、ドライバはその処理方法を知りません。 これらを使おうとすると警告が発生します。使えるフラグについては、wire プロトコルの » ドキュメント を参照ください。
-
set -
フラグを設定する (
TRUE) か解除する (FALSE) か。
返り値
このカーソルを返します。
エラー / 例外
未サポートのフラグを設定しようとした場合に警告を発します。
例
例1 MongoCursor::setFlag() の例
<?php
$m = new MongoClient( 'mongodb://localhost:13000', array( 'replSet' => 'seta' ) );
$c = $m->local->selectCollection( 'oplog.rs' );
$cursor = $c->find( array( 'ns' => 'demo.article', 'op' => 'i' ) );
$cursor->setFlag( 1, true ); // tailable フラグを設定します
$cursor->setFlag( 5, true ); // await data フラグを設定します
?>
参考
- MongoCursor::tailable() - このカーソルが、最後の結果を取得した後もオープンしたままにしておくかどうかを設定する
- MongoCursor::immortal() - このカーソルをタイムアウトさせるかどうかを設定する
- MongoCursor::awaitData() - 追尾可能なカーソルで、データがないときにしばらく待つかどうかを設定する
- MongoCursor::partial() - シャードがダウンしているときにこのクエリが mongos から部分的な結果を返すようにするかどうか
- MongoDB コアドキュメントの » wire protocol query flags