MongoCursor::rewind
MongoCursor::setReadPreference
MongoCursor
PHP Manual

# MongoCursor::setFlag

(PECL mongo >=1.2.11)

MongoCursor::setFlag — 専用のメソッドが存在しない任意のフラグを設定する

### 説明

public MongoCursor MongoCursor::setFlag ( int `$flag` [, bool `$set` = true ] )

MongoCursor クラスには、クエリオブジェクトのフラグを設定するいくつかのメソッドがあります。 このメソッドを使うのは、MongoDB wire プロトコルが新たなフラグを取得したけれども ドライバ側にはそのフラグ用のメソッドが用意されていないという場合です。 その他の場合は、専用のメソッドを使いましょう。 「参考」に、使えるメソッドの一覧があります。

### パラメータ

`flag`

  設定するフラグ。フラグ 6 (EXHAUST) は設定できません。ドライバがその処理方法を知らないからです。 このフラグを使うと警告が発生します。使えるフラグについては、wire プロトコルの » ドキュメント を参照ください。

`set`

  フラグを設定する (`TRUE`) か解除する (`FALSE`) か。

### 返り値

このカーソルを返します。

### エラー / 例外

未サポートのフラグを設定しようとした場合に警告を発します。

### 変更履歴

バージョン | 説明
--- | ---
1.4.0 | フラグ 3 (OPLOG_REPLAY) をサポートするようになりました。 以前のバージョンでは、このフラグには対応していないという警告が出ていました。

### 例

例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

MongoCursor::rewind
MongoCursor::setReadPreference
MongoCursor
PHP Manual