# MongoClient::setReadPreference

(PECL mongo >=1.3.0)

MongoClient::setReadPreference — Set the read preference for this connection

This extension that defines this method is deprecated. Instead, the MongoDB extension should be used. There is no equivalent for this method in the new extension.

### Description

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

### 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 MongoClient::setReadPreference() tag set array syntax example

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

### See Also

- The read preferences documentation.
- MongoClient::getReadPreference() - Get the read preference for this connection