# MongoDB::getReadPreference

(PECL mongo >=1.3.0)

MongoDB::getReadPreference — Get the read preference for this database

### Description

public MongoDB::getReadPreference ( ) : array

### Parameters

This function has no parameters.

### Return Values

This function returns an array describing the read preference. The array contains the values `type` for the string read preference mode (corresponding to the MongoClient constants), and `tagsets` containing a list of all tag set criteria. If no tag sets were specified, `tagsets` will not be present in the array.

### Changelog

Version | Description
--- | ---
PECL mongo 1.3.3 | The return value has changed to be consistent with MongoDB::setReadPreference(). The `type` value was changed from a number to a string, `type_string` was removed, and `tagsets` now expresses tags as key/value pairs instead of colon-delimited strings.

### Examples

Example #1 MongoDB::getReadPreference() return value example

`<?php
$m = new MongoClient();
$db = $m->test;
$db->setReadPreference(MongoClient::RP_SECONDARY, array(
array('dc' => 'east', 'use' => 'reporting'),
array('dc' => 'west'),
array(),
));
var_dump($db->getReadPreference());
?>`

The above example will output:

    array(2) {
      ["type"]=>
      string(9) "secondary"
      ["tagsets"]=>
      array(3) {
        [0]=>
        array(2) {
          ["dc"]=>
          string(4) "east"
          ["use"]=>
          string(9) "reporting"
        }
        [1]=>
        array(1) {
          ["dc"]=>
          string(7) "west"
        }
        [2]=>
        array(0) {
        }
      }
    }

### See Also

- The read preferences documentation.
- MongoDB::setReadPreference() - Set the read preference for this database