Sets arbitrary flags in case there is no method available the specific flag

MongoCursor::rewind
MongoCursor::setReadPreference
MongoCursor
PHP Manual

# MongoCursor::setFlag

(PECL mongo >=1.2.11)

MongoCursor::setFlag — Sets arbitrary flags in case there is no method available the specific flag

### Description

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

The MongoCursor class has several methods for setting flags on the query object. This method is available in case the MongoDB wire protocol has acquired a new flag, and the driver has not been updated with a method for this new flag. In all other cases, the method should be used. See the "See also" section for available methods.

### Parameters

`flag`

  Which flag to set. You can not set flag 6 (EXHAUST) as the driver does not know how to handle them. You will get a warning if you try to use this flag. For available flags, please refer to the wire protocol » documentation.

`set`

  Whether the flag should be set (`TRUE`) or unset (`FALSE`).

### Return Values

Returns this cursor.

### Errors/Exceptions

Shows a warning when an unsupport flag is attempted to be set.

### Changelog

Version | Description
--- | ---
1.4.0 | Support for flag 3 (OPLOG_REPLAY) is added. Versions before 1.4.0 would throw a warning saying that the flag is unsupported.

### Examples

Example #1 MongoCursor::setFlag() example

`<?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 ); // sets the tailable flag
$cursor->setFlag( 5, true ); // sets the await data flag
?>`

### See Also

- MongoCursor::tailable() - Sets whether this cursor will be left open after fetching the last results
- MongoCursor::immortal() - Sets whether this cursor will timeout
- MongoCursor::awaitData() - Sets whether this cursor will wait for a while for a tailable cursor to return more data
- MongoCursor::partial() - If this query should fetch partial results from mongos if a shard is down
- MongoDB core docs on» wire protocol query flags

MongoCursor::rewind
MongoCursor::setReadPreference
MongoCursor
PHP Manual