Documentation ¶
Overview ¶
Package readpref defines read preferences for MongoDB queries.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrInvalidTagSet = errors.New("an even number of tags must be specified")
ErrInvalidTagSet indicates that an invalid set of tags was specified.
Functions ¶
This section is empty.
Types ¶
type Mode ¶
type Mode uint8
Mode indicates the user's preference on reads.
const ( // PrimaryMode indicates that only a primary is // considered for reading. This is the default // mode. PrimaryMode Mode // PrimaryPreferredMode indicates that if a primary // is available, use it; otherwise, eligible // secondaries will be considered. PrimaryPreferredMode // SecondaryMode indicates that only secondaries // should be considered. SecondaryMode // SecondaryPreferredMode indicates that only secondaries // should be considered when one is available. If none // are available, then a primary will be considered. SecondaryPreferredMode // NearestMode indicates that all primaries and secondaries // will be considered. NearestMode )
Mode constants
func ModeFromString ¶
ModeFromString returns a mode corresponding to mode.
type Option ¶
Option configures a read preference
func WithHedgeEnabled ¶ added in v1.4.0
WithHedgeEnabled specifies whether or not hedged reads should be enabled in the server. This feature requires MongoDB server version 4.4 or higher. For more information about hedged reads, see https://www.mongodb.com/docs/manual/core/sharded-cluster-query-router/#mongos-hedged-reads. If not specified, the default is to not send a value to the server, which will result in the server defaults being used.
func WithMaxStaleness ¶
WithMaxStaleness sets the maximum staleness a server is allowed.
func WithTagSets ¶
WithTagSets sets the tag sets used to match a server. The last call to WithTags or WithTagSets overrides all previous calls to either method.
type ReadPref ¶
type ReadPref struct {
// contains filtered or unexported fields
}
ReadPref determines which servers are considered suitable for read operations.
func PrimaryPreferred ¶
PrimaryPreferred constructs a read preference with a PrimaryPreferredMode.
func SecondaryPreferred ¶
SecondaryPreferred constructs a read preference with a SecondaryPreferredMode.
func (*ReadPref) HedgeEnabled ¶ added in v1.4.0
HedgeEnabled returns whether or not hedged reads are enabled for this read preference. If this option was not specified during read preference construction, nil is returned.
func (*ReadPref) MaxStaleness ¶
MaxStaleness is the maximum amount of time to allow a server to be considered eligible for selection. The second return value indicates if this value has been set.