MongoCursor::setFlag

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

&reftitle.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.

&reftitle.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;).

&reftitle.returnvalues;

Returns this cursor.

&reftitle.errors;

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

&reftitle.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.

&reftitle.examples;

### `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
    ?>

&reftitle.seealso;

- `MongoCursor::tailable`
- `MongoCursor::immortal`
- `MongoCursor::awaitData`
- `MongoCursor::partial`
- MongoDB core docs onwire protocol query flags