MongoCursor::setFlag
MongoCursor::skip
MongoCursor
PHP Manual

# MongoCursor::setReadPreference

Set the read preference for this query

### Description

public bool MongoCursor::setReadPreference ( string `$read_preference` [, array `$tags` ] )

### Parameters

`read_preference`

  The read preference mode: `MongoClient::RP_PRIMARY`, `MongoClient::RP_PRIMARY_PREFERRED`, `MongoClient::RP_SECONDARY`, `MongoClient::RP_SECONDARY_PREFERRED`, or `MongoClient::RP_NEAREST`.

`tags`

  An array of zero or more tag sets, where each tag set is itself an array of criteria used to match tags on replica set members.

### Return Values

Returns `TRUE` on success, or `FALSE` otherwise.

### Errors/Exceptions

Emits `E_WARNING` if either parameter is invalid, or if one or more tag sets are provided with the `MongoClient::RP_PRIMARY` read preference mode.

### Examples

Example #1 MongoCursor::setReadPreference tag set array syntaxexample

`<?php
$m = new MongoClient();
$cursor = $m->test->users->find();
// Prefer the nearest server in the "east" data center also used for reporting,
// but fall back to a server in the "west" data center
$cursor->setReadPreference(MongoClient::RP_NEAREST, array(
array('dc' => 'east', 'use' => 'reporting'),
array('dc' => 'west'),
));
?>`

### See Also

- The read preferences documentation.