writeconcern

package
Version: v1.11.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 8, 2022 License: Apache-2.0 Imports: 5 Imported by: 437

Documentation

Overview

Package writeconcern defines write concerns for MongoDB operations.

Index

Constants

This section is empty.

Variables

View Source
var ErrEmptyWriteConcern = errors.New("a write concern must have at least one field set")

ErrEmptyWriteConcern indicates that a write concern has no fields set.

View Source
var ErrInconsistent = errors.New("a write concern cannot have both w=0 and j=true")

ErrInconsistent indicates that an inconsistent write concern was specified.

View Source
var ErrNegativeW = errors.New("write concern `w` field cannot be a negative number")

ErrNegativeW indicates that a negative integer `w` field was specified.

View Source
var ErrNegativeWTimeout = errors.New("write concern `wtimeout` field cannot be negative")

ErrNegativeWTimeout indicates that a negative WTimeout was specified.

Functions

func AckWrite added in v0.0.18

func AckWrite(wc *WriteConcern) bool

AckWrite returns true if a write concern represents an acknowledged write

func AcknowledgedValue added in v0.2.0

func AcknowledgedValue(rawv bson.RawValue) bool

AcknowledgedValue returns true if a BSON RawValue for a write concern represents an acknowledged write concern. The element's value must be a document representing a write concern.

Types

type Option

type Option func(concern *WriteConcern)

Option is an option to provide when creating a WriteConcern.

func J

func J(j bool) Option

J requests acknowledgement from MongoDB that write operations are written to the journal.

func W

func W(w int) Option

W requests acknowledgement that write operations propagate to the specified number of mongod instances.

func WMajority

func WMajority() Option

WMajority requests acknowledgement that write operations propagate to the majority of mongod instances.

func WTagSet

func WTagSet(tag string) Option

WTagSet requests acknowledgement that write operations propagate to the specified mongod instance.

func WTimeout

func WTimeout(d time.Duration) Option

WTimeout specifies specifies a time limit for the write concern.

NOTE(benjirewis): wTimeout will be deprecated in a future release. The more general Timeout option may be used in its place to control the amount of time that a single operation can run before returning an error. Using wTimeout and setting Timeout on the client will result in undefined behavior.

type WriteConcern

type WriteConcern struct {
	// contains filtered or unexported fields
}

WriteConcern describes the level of acknowledgement requested from MongoDB for write operations to a standalone mongod or to replica sets or to sharded clusters.

func New

func New(options ...Option) *WriteConcern

New constructs a new WriteConcern.

func (*WriteConcern) Acknowledged

func (wc *WriteConcern) Acknowledged() bool

Acknowledged indicates whether or not a write with the given write concern will be acknowledged.

func (*WriteConcern) GetJ added in v1.0.0

func (wc *WriteConcern) GetJ() bool

GetJ returns the write concern journaling level.

func (*WriteConcern) GetW added in v1.0.0

func (wc *WriteConcern) GetW() interface{}

GetW returns the write concern w level.

func (*WriteConcern) GetWTimeout added in v1.0.0

func (wc *WriteConcern) GetWTimeout() time.Duration

GetWTimeout returns the write concern timeout.

func (*WriteConcern) IsValid

func (wc *WriteConcern) IsValid() bool

IsValid checks whether the write concern is invalid.

func (*WriteConcern) MarshalBSONValue added in v0.2.0

func (wc *WriteConcern) MarshalBSONValue() (bsontype.Type, []byte, error)

MarshalBSONValue implements the bson.ValueMarshaler interface.

func (*WriteConcern) WithOptions added in v1.0.0

func (wc *WriteConcern) WithOptions(options ...Option) *WriteConcern

WithOptions returns a copy of this WriteConcern with the options set.

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL