php8.5
Home/ Manual/ mongodb / driver/ The MongoDB\Driver\ReadPreference class

The MongoDB\Driver\ReadPreference class

The read preference mode as a string (e.g. "primary", "secondary").

Intro

Class synopsis

class MongoDB\Driver\ReadPreference { }

Properties

mode

The read preference mode as a string (e.g. "primary", "secondary").

tags

The tag set list used by the read preference, or null if no tag sets were specified.

maxStalenessSeconds

The maximum staleness in seconds for reads, or MongoDB\Driver\ReadPreference::NO_MAX_STALENESS if no maximum staleness was specified.

hedge

A document specifying the hedge options for the read preference, or null if no hedge options were specified.

Warning

This property is deprecated as hedged reads are deprecated in MongoDB 8.0.

Predefined Constants

MongoDB\Driver\ReadPreference::PRIMARY

All operations read from the current replica set primary. This is the default read preference for MongoDB.

MongoDB\Driver\ReadPreference::PRIMARY_PREFERRED

In most situations, operations read from the primary but if it is unavailable, operations read from secondary members.

MongoDB\Driver\ReadPreference::SECONDARY

All operations read from the secondary members of the replica set.

MongoDB\Driver\ReadPreference::SECONDARY_PREFERRED

In most situations, operations read from secondary members but if no secondary members are available, operations read from the primary.

MongoDB\Driver\ReadPreference::NEAREST

Operations read from member of the replica set with the least network latency, irrespective of the member's type.

MongoDB\Driver\ReadPreference::NO_MAX_STALENESS

The default value for the "maxStalenessSeconds" option is to specify no limit on maximum staleness, which means that the driver will not consider a secondary's lag when choosing where to direct a read operation.

MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS

The minimum value for the "maxStalenessSeconds" option is 90 seconds. The driver estimates secondaries' staleness by periodically checking the latest write date of each replica set member. Since these checks are infrequent, the staleness estimate is coarse. Thus, the driver cannot enforce a max staleness value of less than 90 seconds.

Changelog

VersionDescription
PECL mongodb 2.3.0Added public readonly properties.
PECL mongodb 2.0.0Removed the MongoDB\Driver\ReadPreference::RP_PRIMARY, MongoDB\Driver\ReadPreference::RP_PRIMARY_PREFERRED, MongoDB\Driver\ReadPreference::RP_SECONDARY, MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED, and MongoDB\Driver\ReadPreference::RP_NEAREST constants. The getMode method was also removed.
PECL mongodb 1.20.0Deprecated the MongoDB\Driver\ReadPreference::RP_PRIMARY, MongoDB\Driver\ReadPreference::RP_PRIMARY_PREFERRED, MongoDB\Driver\ReadPreference::RP_SECONDARY, MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED, and MongoDB\Driver\ReadPreference::RP_NEAREST constants.
PECL mongodb 1.7.0Added the MongoDB\Driver\ReadPreference::PRIMARY, MongoDB\Driver\ReadPreference::PRIMARY_PREFERRED, MongoDB\Driver\ReadPreference::SECONDARY, MongoDB\Driver\ReadPreference::SECONDARY_PREFERRED, and MongoDB\Driver\ReadPreference::NEAREST constants.Implements Serializable.
PECL mongodb 1.2.0Added the MongoDB\Driver\ReadPreference::NO_MAX_STALENESS and MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS constants.Implements MongoDB\BSON\Serializable.

Readpreference

In this section

Source: reference/mongodb/mongodb/driver/readpreference.xml · from the official PHP manual (php/doc-en)