Documentation ¶
Overview ¶
Package writeconcern defines write concerns for MongoDB operations.
Index ¶
- Variables
- func AckWrite(wc *WriteConcern) bool
- func AcknowledgedValue(rawv bson.RawValue) bool
- type Option
- type WriteConcern
- func (wc *WriteConcern) Acknowledged() bool
- func (wc *WriteConcern) GetJ() bool
- func (wc *WriteConcern) GetW() interface{}
- func (wc *WriteConcern) GetWTimeout() time.Duration
- func (wc *WriteConcern) IsValid() bool
- func (wc *WriteConcern) MarshalBSONValue() (bsontype.Type, []byte, error)
- func (wc *WriteConcern) WithOptions(options ...Option) *WriteConcern
Constants ¶
This section is empty.
Variables ¶
var ErrEmptyWriteConcern = errors.New("a write concern must have at least one field set")
ErrEmptyWriteConcern indicates that a write concern has no fields set.
var ErrInconsistent = errors.New("a write concern cannot have both w=0 and j=true")
ErrInconsistent indicates that an inconsistent write concern was specified.
var ErrNegativeW = errors.New("write concern `w` field cannot be a negative number")
ErrNegativeW indicates that a negative integer `w` field was specified.
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
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 W ¶
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 ¶
WTagSet requests acknowledgement that write operations propagate to the specified mongod instance.
func WTimeout ¶
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 (*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.