MongoDB::setProfilingLevel
MongoDB::setSlaveOkay
MongoDB
PHP Manual

# MongoDB::setReadPreference

(PECL mongo >=1.3.0)

MongoDB::setReadPreference — Set the read preference for this database

### Description

public bool MongoDB::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 MongoDB::setReadPreference() tag set array syntax example

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

### See Also

- The read preferences documentation.

MongoDB::setProfilingLevel
MongoDB::setSlaveOkay
MongoDB
PHP Manual