Documentation
¶
Index ¶
- func ParseArrayFiltersMongoOptions(a *ArrayFilters) *options.ArrayFilters
- func ParseCollationMongoOptions(c *Collation) *options.Collation
- func ParseCursorType(c *CursorType) *options.CursorType
- func ParseFullDocument(f *FullDocument) *options.FullDocument
- func ParseReturnDocument(r *ReturnDocument) *options.ReturnDocument
- type Aggregate
- func (a *Aggregate) SetAllowDiskUse(b bool) *Aggregate
- func (a *Aggregate) SetBatchSize(i int32) *Aggregate
- func (a *Aggregate) SetBypassDocumentValidation(b bool) *Aggregate
- func (a *Aggregate) SetCollation(c *Collation) *Aggregate
- func (a *Aggregate) SetComment(s string) *Aggregate
- func (a *Aggregate) SetCustom(b bson.M) *Aggregate
- func (a *Aggregate) SetHint(v any) *Aggregate
- func (a *Aggregate) SetLet(v any) *Aggregate
- func (a *Aggregate) SetMaxAwaitTime(d time.Duration) *Aggregate
- func (a *Aggregate) SetMaxTime(d time.Duration) *Aggregate
- type ArrayFilters
- type Collation
- type Count
- type CursorType
- type Delete
- func (d *Delete) SetCollation(c *Collation) *Delete
- func (d *Delete) SetComment(a any) *Delete
- func (d *Delete) SetDisableAutoCloseSession(b bool) *Delete
- func (d *Delete) SetDisableAutoRollbackSession(b bool) *Delete
- func (d *Delete) SetForceRecreateSession(b bool) *Delete
- func (d *Delete) SetHint(a any) *Delete
- func (d *Delete) SetLet(a any) *Delete
- type Distinct
- type DropIndex
- type EstimatedDocumentCount
- type Exists
- type Find
- func (f *Find) SetAllowDiskUse(b bool) *Find
- func (f *Find) SetAllowPartialResults(b bool) *Find
- func (f *Find) SetBatchSize(i int32) *Find
- func (f *Find) SetCollation(c *Collation) *Find
- func (f *Find) SetComment(s string) *Find
- func (f *Find) SetCursorType(c CursorType) *Find
- func (f *Find) SetHint(v any) *Find
- func (f *Find) SetLet(v any) *Find
- func (f *Find) SetLimit(i int64) *Find
- func (f *Find) SetMax(v any) *Find
- func (f *Find) SetMaxAwaitTime(d time.Duration) *Find
- func (f *Find) SetMaxTime(d time.Duration) *Find
- func (f *Find) SetMin(v any) *Find
- func (f *Find) SetNoCursorTimeout(b bool) *Find
- func (f *Find) SetProjection(v any) *Find
- func (f *Find) SetReturnKey(b bool) *Find
- func (f *Find) SetShowRecordID(b bool) *Find
- func (f *Find) SetSkip(i int64) *Find
- func (f *Find) SetSort(a any) *Find
- type FindOne
- func (f *FindOne) SetAllowPartialResults(b bool) *FindOne
- func (f *FindOne) SetCollation(c *Collation) *FindOne
- func (f *FindOne) SetComment(s string) *FindOne
- func (f *FindOne) SetHint(v any) *FindOne
- func (f *FindOne) SetMax(v any) *FindOne
- func (f *FindOne) SetMaxTime(d time.Duration) *FindOne
- func (f *FindOne) SetMin(v any) *FindOne
- func (f *FindOne) SetProjection(v any) *FindOne
- func (f *FindOne) SetReturnKey(b bool) *FindOne
- func (f *FindOne) SetShowRecordID(b bool) *FindOne
- func (f *FindOne) SetSkip(i int64) *FindOne
- func (f *FindOne) SetSort(a any) *FindOne
- type FindOneAndDelete
- func (f *FindOneAndDelete) SetCollation(c *Collation) *FindOneAndDelete
- func (f *FindOneAndDelete) SetComment(a any) *FindOneAndDelete
- func (f *FindOneAndDelete) SetDisableAutoCloseSession(b bool) *FindOneAndDelete
- func (f *FindOneAndDelete) SetDisableAutoRollbackSession(b bool) *FindOneAndDelete
- func (f *FindOneAndDelete) SetForceRecreateSession(b bool) *FindOneAndDelete
- func (f *FindOneAndDelete) SetHint(v any) *FindOneAndDelete
- func (f *FindOneAndDelete) SetLet(v any) *FindOneAndDelete
- func (f *FindOneAndDelete) SetMaxTime(d time.Duration) *FindOneAndDelete
- func (f *FindOneAndDelete) SetProjection(v any) *FindOneAndDelete
- func (f *FindOneAndDelete) SetSort(a any) *FindOneAndDelete
- type FindOneAndReplace
- func (f *FindOneAndReplace) SetBypassDocumentValidation(b bool) *FindOneAndReplace
- func (f *FindOneAndReplace) SetCollation(c *Collation) *FindOneAndReplace
- func (f *FindOneAndReplace) SetComment(a any) *FindOneAndReplace
- func (f *FindOneAndReplace) SetDisableAutoCloseSession(b bool) *FindOneAndReplace
- func (f *FindOneAndReplace) SetDisableAutoRollbackSession(b bool) *FindOneAndReplace
- func (f *FindOneAndReplace) SetForceRecreateSession(b bool) *FindOneAndReplace
- func (f *FindOneAndReplace) SetHint(v any) *FindOneAndReplace
- func (f *FindOneAndReplace) SetLet(v any) *FindOneAndReplace
- func (f *FindOneAndReplace) SetMaxTime(d time.Duration) *FindOneAndReplace
- func (f *FindOneAndReplace) SetProjection(v any) *FindOneAndReplace
- func (f *FindOneAndReplace) SetReturnDocument(r ReturnDocument) *FindOneAndReplace
- func (f *FindOneAndReplace) SetSort(a any) *FindOneAndReplace
- func (f *FindOneAndReplace) SetUpsert(b bool) *FindOneAndReplace
- type FindOneAndUpdate
- func (f *FindOneAndUpdate) SetArrayFilters(a *ArrayFilters) *FindOneAndUpdate
- func (f *FindOneAndUpdate) SetBypassDocumentValidation(b bool) *FindOneAndUpdate
- func (f *FindOneAndUpdate) SetCollation(c *Collation) *FindOneAndUpdate
- func (f *FindOneAndUpdate) SetComment(a any) *FindOneAndUpdate
- func (f *FindOneAndUpdate) SetDisableAutoCloseSession(b bool) *FindOneAndUpdate
- func (f *FindOneAndUpdate) SetDisableAutoRollbackSession(b bool) *FindOneAndUpdate
- func (f *FindOneAndUpdate) SetForceRecreateSession(b bool) *FindOneAndUpdate
- func (f *FindOneAndUpdate) SetHint(v any) *FindOneAndUpdate
- func (f *FindOneAndUpdate) SetLet(v any) *FindOneAndUpdate
- func (f *FindOneAndUpdate) SetMaxTime(d time.Duration) *FindOneAndUpdate
- func (f *FindOneAndUpdate) SetProjection(v any) *FindOneAndUpdate
- func (f *FindOneAndUpdate) SetReturnDocument(r ReturnDocument) *FindOneAndUpdate
- func (f *FindOneAndUpdate) SetSort(i any) *FindOneAndUpdate
- func (f *FindOneAndUpdate) SetUpsert(b bool) *FindOneAndUpdate
- type FindOneById
- func (f *FindOneById) SetAllowPartialResults(b bool) *FindOneById
- func (f *FindOneById) SetCollation(c *Collation) *FindOneById
- func (f *FindOneById) SetComment(s string) *FindOneById
- func (f *FindOneById) SetHint(v any) *FindOneById
- func (f *FindOneById) SetMax(v any) *FindOneById
- func (f *FindOneById) SetMaxTime(d time.Duration) *FindOneById
- func (f *FindOneById) SetMin(v any) *FindOneById
- func (f *FindOneById) SetProjection(v any) *FindOneById
- func (f *FindOneById) SetReturnKey(b bool) *FindOneById
- func (f *FindOneById) SetShowRecordID(b bool) *FindOneById
- type FindPageable
- func (f *FindPageable) SetAllowDiskUse(b bool) *FindPageable
- func (f *FindPageable) SetAllowPartialResults(b bool) *FindPageable
- func (f *FindPageable) SetBatchSize(i int32) *FindPageable
- func (f *FindPageable) SetCollation(c *Collation) *FindPageable
- func (f *FindPageable) SetComment(s string) *FindPageable
- func (f *FindPageable) SetCursorType(c CursorType) *FindPageable
- func (f *FindPageable) SetHint(v any) *FindPageable
- func (f *FindPageable) SetLet(v any) *FindPageable
- func (f *FindPageable) SetMax(v any) *FindPageable
- func (f *FindPageable) SetMaxAwaitTime(d time.Duration) *FindPageable
- func (f *FindPageable) SetMaxTime(d time.Duration) *FindPageable
- func (f *FindPageable) SetMin(v any) *FindPageable
- func (f *FindPageable) SetNoCursorTimeout(b bool) *FindPageable
- func (f *FindPageable) SetProjection(v any) *FindPageable
- func (f *FindPageable) SetReturnKey(b bool) *FindPageable
- func (f *FindPageable) SetShowRecordID(b bool) *FindPageable
- type FullDocument
- type Global
- type Index
- func (i *Index) SetBits(bits int32) *Index
- func (i *Index) SetBucketSize(bucketSize int32) *Index
- func (i *Index) SetCollation(collation *Collation) *Index
- func (i *Index) SetDefaultLanguage(language string) *Index
- func (i *Index) SetExpireAfterSeconds(seconds int32) *Index
- func (i *Index) SetHidden(hidden bool) *Index
- func (i *Index) SetLanguageOverride(override string) *Index
- func (i *Index) SetMax(max float64) *Index
- func (i *Index) SetMin(min float64) *Index
- func (i *Index) SetName(name string) *Index
- func (i *Index) SetPartialFilterExpression(expression any) *Index
- func (i *Index) SetSparse(sparse bool) *Index
- func (i *Index) SetSphereVersion(version int32) *Index
- func (i *Index) SetStorageEngine(engine any) *Index
- func (i *Index) SetTextVersion(version int32) *Index
- func (i *Index) SetUnique(unique bool) *Index
- func (i *Index) SetVersion(version int32) *Index
- func (i *Index) SetWeights(weights any) *Index
- func (i *Index) SetWildcardProjection(wildcardProjection any) *Index
- type InsertMany
- func (i *InsertMany) SetBypassDocumentValidation(b bool) *InsertMany
- func (i *InsertMany) SetComment(a any) *InsertMany
- func (i *InsertMany) SetDisableAutoCloseSession(b bool) *InsertMany
- func (i *InsertMany) SetDisableAutoRollback(b bool) *InsertMany
- func (i *InsertMany) SetForceRecreateSession(b bool) *InsertMany
- type InsertOne
- func (i *InsertOne) SetBypassDocumentValidation(b bool) *InsertOne
- func (i *InsertOne) SetComment(a any) *InsertOne
- func (i *InsertOne) SetDisableAutoCloseSession(b bool) *InsertOne
- func (i *InsertOne) SetDisableAutoRollbackSession(b bool) *InsertOne
- func (i *InsertOne) SetForceRecreateSession(b bool) *InsertOne
- type ListIndexes
- type Replace
- func (r *Replace) SetBypassDocumentValidation(b bool) *Replace
- func (r *Replace) SetCollation(c *Collation) *Replace
- func (r *Replace) SetComment(a any) *Replace
- func (r *Replace) SetDisableAutoCloseSession(b bool) *Replace
- func (r *Replace) SetDisableAutoRollbackSession(b bool) *Replace
- func (r *Replace) SetForceRecreateSession(b bool) *Replace
- func (r *Replace) SetHint(a any) *Replace
- func (r *Replace) SetLet(a any) *Replace
- type ReturnDocument
- type Update
- func (u *Update) SetArrayFilters(a *ArrayFilters) *Update
- func (u *Update) SetBypassDocumentValidation(b bool) *Update
- func (u *Update) SetCollation(c *Collation) *Update
- func (u *Update) SetComment(a any) *Update
- func (u *Update) SetDisableAutoCloseSession(b bool) *Update
- func (u *Update) SetDisableAutoRollbackSession(b bool) *Update
- func (u *Update) SetForceRecreateSession(b bool) *Update
- func (u *Update) SetHint(a any) *Update
- func (u *Update) SetLet(a any) *Update
- func (u *Update) SetUpsert(b bool) *Update
- type Watch
- func (w *Watch) SetBatchSize(i int32) *Watch
- func (w *Watch) SetCollation(c *Collation) *Watch
- func (w *Watch) SetCollectionName(s string) *Watch
- func (w *Watch) SetComment(s string) *Watch
- func (w *Watch) SetCustom(b bson.M) *Watch
- func (w *Watch) SetCustomPipeline(b bson.M) *Watch
- func (w *Watch) SetDatabaseName(s string) *Watch
- func (w *Watch) SetFullDocument(f FullDocument) *Watch
- func (w *Watch) SetFullDocumentBeforeChange(f FullDocument) *Watch
- func (w *Watch) SetMaxAwaitTime(d time.Duration) *Watch
- func (w *Watch) SetResumeAfter(a any) *Watch
- func (w *Watch) SetShowExpandedEvents(b bool) *Watch
- func (w *Watch) SetStartAfter(a any) *Watch
- func (w *Watch) SetStartAtOperationTime(t primitive.Timestamp) *Watch
- type WatchWithHandler
- func (w *WatchWithHandler) SetBatchSize(i int32) *WatchWithHandler
- func (w *WatchWithHandler) SetCollation(c *Collation) *WatchWithHandler
- func (w *WatchWithHandler) SetCollectionName(s string) *WatchWithHandler
- func (w *WatchWithHandler) SetComment(s string) *WatchWithHandler
- func (w *WatchWithHandler) SetContextFuncTimeout(d time.Duration) *WatchWithHandler
- func (w *WatchWithHandler) SetCustom(b bson.M) *WatchWithHandler
- func (w *WatchWithHandler) SetCustomPipeline(b bson.M) *WatchWithHandler
- func (w *WatchWithHandler) SetDatabaseName(s string) *WatchWithHandler
- func (w *WatchWithHandler) SetDelayLoop(d time.Duration) *WatchWithHandler
- func (w *WatchWithHandler) SetFullDocument(f FullDocument) *WatchWithHandler
- func (w *WatchWithHandler) SetFullDocumentBeforeChange(f FullDocument) *WatchWithHandler
- func (w *WatchWithHandler) SetMaxAwaitTime(d time.Duration) *WatchWithHandler
- func (w *WatchWithHandler) SetResumeAfter(a any) *WatchWithHandler
- func (w *WatchWithHandler) SetShowExpandedEvents(b bool) *WatchWithHandler
- func (w *WatchWithHandler) SetStartAfter(a any) *WatchWithHandler
- func (w *WatchWithHandler) SetStartAtOperationTime(t primitive.Timestamp) *WatchWithHandler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParseArrayFiltersMongoOptions ¶
func ParseArrayFiltersMongoOptions(a *ArrayFilters) *options.ArrayFilters
ParseArrayFiltersMongoOptions convert ArrayFilters to mongo options.ArrayFilters
func ParseCollationMongoOptions ¶
ParseCollationMongoOptions convert Collation to mongo options.Collation
func ParseCursorType ¶
func ParseCursorType(c *CursorType) *options.CursorType
ParseCursorType convert CursorType to mongo options.CursorType
func ParseFullDocument ¶
func ParseFullDocument(f *FullDocument) *options.FullDocument
ParseFullDocument convert FullDocument to mongo options.FullDocument
func ParseReturnDocument ¶
func ParseReturnDocument(r *ReturnDocument) *options.ReturnDocument
ParseReturnDocument convert ReturnDocument to mongo options.ReturnDocument
Types ¶
type Aggregate ¶
type Aggregate struct {
// AllowDiskUse If true, the operation can write to temporary files in the _tmp subdirectory of the database
// directory path on the server. The default value is false.
AllowDiskUse *bool
// BatchSize
// The maximum number of documents to be included in each batch returned by the server.
BatchSize *int32
// BypassDocumentValidation If true, writes executed as part of the operation will opt out of document-level
// validation on the server. This option is valid for MongoDB versions >= 3.2 and is ignored for previous server
// versions. The default value is false. See https://www.mongodb.com/docs/manual/core/schema-validation/ for more
// information about document validation.
BypassDocumentValidation *bool
// Collation Specifies a collation to use for string comparisons during the operation. This option is only
// valid for MongoDB versions >= 3.4. For previous server versions, the driver will return an error if this option
// is used. The default value is nil, which means the default collation of the collection will be used.
Collation *Collation
// MaxTime The maximum amount of time that the query can run on the server. The default value is nil, meaning that
// there is no time limit for query execution.
//
// NOTE: MaxTime 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. MaxTime is
// ignored if Timeout is set on the client.
MaxTime *time.Duration
// MaxAwaitTime The maximum amount of time that the server should wait for new documents to satisfy a cursor query.
// This option is only valid for MongoDB versions >= 3.2 and is ignored for previous server versions.
MaxAwaitTime *time.Duration
// Comment A string that will be included in server logs, profiling logs, and currentOp queries to help trace the
// operation. The default is nil, which means that no comment will be included in the logs.
Comment *string
// Hint The index to use for the aggregation. This should either be the index name as a string or the index
// specification as a document. The hint does not apply to $lookup and $graphLookup aggregation stages. The driver
// will return an error if the hint parameter is a multi-key map. The default value is nil, which means that no hint
// will be sent.
Hint any
// Let Specifies parameters for the aggregate expression. This option is only valid for MongoDB versions >= 5.0. Older
// servers will report an error for using this option. This must be a document mapping parameter names to values.
// Values must be constant or closed expressions that do not reference document fields. Parameters can then be
// accessed as variables in an aggregate expression context (e.g. "$$var").
Let any
// Custom options to be added to aggregate expression. Key-value pairs of the BSON map should correlate with desired
// option names and values. Values must be Marshaller. Custom options may conflict with non-custom options, and custom
// options bypass client-side validation. Prefer using non-custom options where possible.
Custom bson.M
}
Aggregate represents options that can be used to configure an 'Aggregate' operation.
func MergeAggregateByParams ¶ added in v1.1.2
MergeAggregateByParams assembles the Aggregate object from optional parameters.
func (*Aggregate) SetAllowDiskUse ¶
SetAllowDiskUse sets value for the AllowDiskUse field.
func (*Aggregate) SetBatchSize ¶
SetBatchSize sets value for the BatchSize field.
func (*Aggregate) SetBypassDocumentValidation ¶
SetBypassDocumentValidation sets value for the BypassDocumentValidation field.
func (*Aggregate) SetCollation ¶
SetCollation sets value for the Collation field.
func (*Aggregate) SetComment ¶
SetComment sets value for the Comment field.
func (*Aggregate) SetMaxAwaitTime ¶
SetMaxAwaitTime sets value for the MaxAwaitTime field.
type ArrayFilters ¶
type ArrayFilters struct {
// Registry is the registry to use for converting filters. Defaults to bson.DefaultRegistry.
//
// Deprecated: Marshaling ArrayFilters to BSON will not be supported in Go Driver 2.0.
Registry *bsoncodec.Registry
// Filters The filters to apply
Filters []any
}
ArrayFilters is used to hold filters for the array filters CRUD option. If a registry is nil, bson.DefaultRegistry will be used when converting the filter interfaces to BSON.
type Collation ¶
type Collation struct {
// Locale The locale
Locale string `bson:",omitempty"`
// CaseLevel The case level
CaseLevel bool `bson:",omitempty"`
// CaseFirst The case ordering
CaseFirst string `bson:",omitempty"`
// Strength The number of comparison levels to use
Strength int `bson:",omitempty"`
// NumericOrdering Whether to order numbers based on numerical order and not collation order
NumericOrdering bool `bson:",omitempty"`
// Alternate Whether spaces and punctuation are considered base characters
Alternate string `bson:",omitempty"`
// MaxVariable Which characters are affected by alternate: "shifted"
MaxVariable string `bson:",omitempty"`
// Normalization Causes text to be normalized into Unicode NFD
Normalization bool `bson:",omitempty"`
// Backwards Causes secondary differences to be considered in reverse order, as it is done in the French language
Backwards bool `bson:",omitempty"`
}
Collation allows users to specify language-specific rules for string comparison, such as rules for letter case and accent marks.
type Count ¶
type Count struct {
// Collation Specifies a collation to use for string comparisons during the operation. This option is only valid
// for MongoDB versions >= 3.4. For previous server versions, the driver will return an error if this option is
// used. The default value is nil, which means the default collation of the collection will be used.
Collation *Collation
// Comment A string or document that will be included in server logs, profiling logs, and currentOp queries to help
// trace the operation. The default is nil, which means that no comment will be included in the logs.
Comment *string
// Hint The index to use for the aggregation. This should either be the index name as a string or the index specification
// as a document. The driver will return an error if the hint parameter is a multi-key map. The default value is nil,
// which means that no hint will be sent.
Hint any
// Limit The maximum number of documents to count. The default value is 0, which means that there is no limit and all
// documents matching the filter will be counted.
Limit *int64
// MaxTime The maximum amount of time that the query can run on the server. The default value is nil, meaning that
// there is no time limit for query execution.
//
// NOTE: MaxTime 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. MaxTime is
// ignored if Timeout is set on the client.
MaxTime *time.Duration
// Skip
// The number of documents to skip before counting. The default value is 0.
Skip *int64
}
Count represents options that can be used to configure a 'CountDocuments' operation.
func MergeCountByParams ¶ added in v1.1.2
MergeCountByParams assembles the Count object from optional parameters.
func (*Count) SetCollation ¶
SetCollation sets value for the Collation field.
func (*Count) SetComment ¶
SetComment sets value for the Comment field.
func (*Count) SetMaxTime ¶
SetMaxTime sets value for the MaxTime field.
type CursorType ¶
type CursorType int8
CursorType specifies whether a cursor should close when the last data is retrieved. See NonTailable, Tailable, and TailableAwait.
const ( // CursorTypeNonTailable specifies that a cursor should close after retrieving the last data. CursorTypeNonTailable CursorType = iota // CursorTypeTailable specifies that a cursor should not close when the last data is retrieved and can be resumed later. CursorTypeTailable // CursorTypeTailableAwait specifies that a cursor should not close when the last data is retrieved and // that it should block for a certain amount of time for new data before returning no data. CursorTypeTailableAwait )
type Delete ¶
type Delete struct {
// Collation Specifies a collation to use for string comparisons during the operation. This option is only valid
// for MongoDB versions >= 3.4. For previous server versions, the driver will return an error if this option is
// used. The default value is nil, which means the default collation of the collection will be used.
Collation *Collation
// Comment A string or document that will be included in server logs, profiling logs, and currentOp queries to help trace
// the operation. The default value is nil, which means that no comment will be included in the logs.
Comment any
// Hint The index to use for the operation. This should either be the index name as a string or the index specification
// as a document. This option is only valid for MongoDB versions >= 4.4. Server versions >= 3.4 will return an error
// if this option is specified. For server versions < 3.4, the driver will return a client-side error if this option
// is specified. The driver will return an error if this option is specified during an unacknowledged write
// operation. The driver will return an error if the hint parameter is a multi-key map. The default value is nil,
// which means that no hint will be sent.
Hint any
// Let Specifies parameters for the delete expression. This option is only valid for MongoDB versions >= 5.0. Older
// servers will report an error for using this option. This must be a document mapping parameter names to values.
// Values must be constant or closed expressions that do not reference document fields. Parameters can then be
// accessed as variables in an aggregate expression context (e.g. "$$var").
Let any
// DisableAutoRollbackSession disable auto rollback if an error occurs.
DisableAutoRollbackSession *bool
// DisableAutoCloseSession Disable automatic closing session, if true, we automatically close session according to
// the result, if an error occurs, we abort the transaction, otherwise, we commit the transaction.
// default is false
DisableAutoCloseSession *bool
// ForceRecreateSession Force the creation of the session, if any session is still open, we close it automatically,
// committing the transactions, and continue creating a new session.
// default is false
ForceRecreateSession *bool
}
Delete represents options that can be used to configure DeleteOne and DeleteMany operations.
func MergeDeleteByParams ¶ added in v1.1.2
MergeDeleteByParams assembles the Delete object from optional parameters.
func (*Delete) SetCollation ¶
SetCollation sets value for the Collation field.
func (*Delete) SetComment ¶
SetComment sets value for the Comment field.
func (*Delete) SetDisableAutoCloseSession ¶
SetDisableAutoCloseSession sets value for the DisableAutoCloseSession field.
func (*Delete) SetDisableAutoRollbackSession ¶ added in v1.0.3
SetDisableAutoRollbackSession sets value for the DisableAutoRollbackSession field.
func (*Delete) SetForceRecreateSession ¶
SetForceRecreateSession sets value for the ForceRecreateSession field.
type Distinct ¶
type Distinct struct {
// Collation Specifies a collation to use for string comparisons during the operation. This option is only valid
// for MongoDB versions >= 3.4. For previous server versions, the driver will return an error if this option is
// used. The default value is nil, which means the default collation of the collection will be used.
Collation *Collation
// A string or document that will be included in server logs, profiling logs, and currentOp queries to help trace
// the operation. The default value is nil, which means that no comment will be included in the logs.
Comment any
// MaxTime The maximum amount of time that the query can run on the server. The default value is nil, meaning that
// there is no time limit for query execution.
//
// NOTE: MaxTime 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. MaxTime is
// ignored if Timeout is set on the client.
MaxTime *time.Duration
}
Distinct represents options that can be used to configure a Distinct operation.
func MergeDistinctByParams ¶ added in v1.1.2
MergeDistinctByParams assembles the Distinct object from optional parameters.
func (*Distinct) SetCollation ¶
SetCollation sets value for the Collation field.
func (*Distinct) SetComment ¶
SetComment sets value for the Comment field.
type DropIndex ¶
type DropIndex struct {
// MaxTime The maximum amount of time that the query can run on the server. The default value is nil, meaning that
// there is no time limit for query execution.
//
// NOTE: MaxTime 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. MaxTime is
// ignored if Timeout is set on the client.
MaxTime *time.Duration
}
DropIndex represents options that can be used to configure a DropOneIndex and DropAllIndexes operation.
func MergeDropIndexByParams ¶ added in v1.1.2
MergeDropIndexByParams assembles the DropIndex object from optional parameters.
type EstimatedDocumentCount ¶
type EstimatedDocumentCount struct {
// Comment A string or document that will be included in server logs, profiling logs, and currentOp queries to help trace
// the operation. The default is nil, which means that no comment will be included in the logs.
Comment any
// MaxTime The maximum amount of time that the query can run on the server. The default value is nil, meaning that
// there is no time limit for query execution.
//
// NOTE: MaxTime 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. MaxTime is
// ignored if Timeout is set on the client.
MaxTime *time.Duration
}
EstimatedDocumentCount represents options that can be used to configure an 'EstimatedDocumentCount' operation.
func MergeEstimatedDocumentCountByParams ¶ added in v1.1.2
func MergeEstimatedDocumentCountByParams(opts []*EstimatedDocumentCount) *EstimatedDocumentCount
MergeEstimatedDocumentCountByParams assembles the EstimatedDocumentCount object from optional parameters.
func NewEstimatedDocumentCount ¶
func NewEstimatedDocumentCount() *EstimatedDocumentCount
NewEstimatedDocumentCount creates a new EstimatedDocumentCount instance.
func (*EstimatedDocumentCount) SetComment ¶
func (e *EstimatedDocumentCount) SetComment(a any) *EstimatedDocumentCount
SetComment sets value for the Comment field.
func (*EstimatedDocumentCount) SetMaxTime ¶
func (e *EstimatedDocumentCount) SetMaxTime(d time.Duration) *EstimatedDocumentCount
SetMaxTime sets value for the MaxTime field.
type Exists ¶
type Exists struct {
// Collation Specifies a collation to use for string comparisons during the operation. This option is only valid
// for MongoDB versions >= 3.4. For previous server versions, the driver will return an error if this option is
// used. The default value is nil, which means the default collation of the collection will be used.
Collation *Collation
// A string or document that will be included in server logs, profiling logs, and currentOp queries to help trace
// the operation. The default is nil, which means that no comment will be included in the logs.
Comment *string
// The index to use for the aggregation. This should either be the index name as a string or the index specification
// as a document. The driver will return an error if the hint parameter is a multi-key map. The default value is nil,
// which means that no hint will be sent.
Hint any
// MaxTime The maximum amount of time that the query can run on the server. The default value is nil, meaning that
// there is no time limit for query execution.
//
// NOTE: MaxTime 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. MaxTime is
// ignored if Timeout is set on the client.
MaxTime *time.Duration
}
Exists represents options that can be used to configure an 'Exists' operation.
func MergeExistsByParams ¶ added in v1.1.2
MergeExistsByParams assembles the Exists object from optional parameters.
func (*Exists) SetCollation ¶
SetCollation creates a new Collation instance.
func (*Exists) SetComment ¶
SetComment creates a new Comment instance.
type Find ¶
type Find struct {
// AllowDiskUse specifies whether the server can write temporary data to disk while executing the Find operation.
// This option is only valid for MongoDB versions >= 4.4. Server versions >= 3.2 will report an error if this option
// is specified. For server versions < 3.2, the driver will return a client-side error if this option is specified.
// The default value is false.
AllowDiskUse *bool
// AllowPartialResults AllowPartial results specifies whether the Find operation on a sharded cluster can
// return partial results if some shards are down rather than returning an error. The default value is false.
AllowPartialResults *bool
// BatchSize is the maximum number of documents to be included in each batch returned by the server.
BatchSize *int32
// Collation Specifies a collation to use for string comparisons during the operation. This option is only valid
// for MongoDB versions >= 3.4. For previous server versions, the driver will return an error if this option is
// used. The default value is nil, which means the default collation of the collection will be used.
Collation *Collation
// Comment A string that will be included in server logs, profiling logs, and currentOp queries to help trace the operation.
// The default is nil, which means that no comment will be included in the logs.
Comment *string
// CursorType specifies the type of cursor that should be created for the operation. The default is NonTailable, which
// means that the cursor will be closed by the server when the last batch of documents is retrieved.
CursorType *CursorType
// Hint is the index to use for the Find operation. This should either be the index name as a string or the index
// specification as a document. The driver will return an error if the hint parameter is a multi-key map. The default
// value is nil, which means that no hint will be sent.
Hint any
// Limit is the maximum number of documents to return. The default value is 0, which means that all documents matching the
// filter will be returned. A negative limit specifies that the resulting documents should be returned in a single
// batch. The default value is 0.
Limit *int64
// Max is a document specifying the exclusive upper bound for a specific index. The default value is nil, which means that
// there is no maximum value.
Max any
// MaxAwaitTime is the maximum amount of time that the server should wait for new documents to satisfy a tailable cursor
// query. This option is only valid for tailable await cursors (see the CursorType option for more information) and
// MongoDB versions >= 3.2. For other cursor types or previous server versions, this option is ignored.
MaxAwaitTime *time.Duration
// MaxTime The maximum amount of time that the query can run on the server. The default value is nil, meaning that
// there is no time limit for query execution.
//
// NOTE: MaxTime 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. MaxTime is
// ignored if Timeout is set on the client.
MaxTime *time.Duration
// Min is a document specifying the inclusive lower bound for a specific index. The default value is 0, which means that
// there is no minimum value.
Min any
// NoCursorTimeout specifies whether the cursor created by the operation will not time out after a period of inactivity.
// The default value is false.
NoCursorTimeout *bool
// Projection Project is a document describing which fields will be included in the documents returned by the Find
// operation. The default value is nil, which means all fields will be included.
Projection any
// ReturnKey specifies whether the documents returned by the Find operation will only contain fields corresponding to the
// index used. The default value is false.
ReturnKey *bool
// ShowRecordID specifies whether a $recordId field with a record identifier will be included in the documents returned by
// the Find operation. The default value is false.
ShowRecordID *bool
// Skip is the number of documents to skip before adding documents to the result. The default value is 0.
Skip *int64
// Sort is a document specifying the order in which documents should be returned. The driver will return an error if the
// sort parameter is a multi-key map.
Sort any
// Let specifies parameters for the find expression. This option is only valid for MongoDB versions >= 5.0. Older
// servers will report an error for using this option. This must be a document mapping parameter names to values.
// Values must be constant or closed expressions that do not reference document fields. Parameters can then be
// accessed as variables in an aggregate expression context (e.g. "$$var").
Let any
}
Find represents options that can be used to configure a 'Find' operation.
func MergeFindByParams ¶ added in v1.1.2
MergeFindByParams assembles the Find object from optional parameters.
func (*Find) SetAllowDiskUse ¶
SetAllowDiskUse creates a new AllowDiskUse instance.
func (*Find) SetAllowPartialResults ¶
SetAllowPartialResults creates a new AllowPartialResults instance.
func (*Find) SetBatchSize ¶
SetBatchSize creates a new BatchSize instance.
func (*Find) SetCollation ¶
SetCollation creates a new Collation instance.
func (*Find) SetComment ¶
SetComment creates a new Comment instance.
func (*Find) SetCursorType ¶
func (f *Find) SetCursorType(c CursorType) *Find
SetCursorType creates a new CursorType instance.
func (*Find) SetMaxAwaitTime ¶
SetMaxAwaitTime creates a new MaxAwaitTime instance.
func (*Find) SetMaxTime ¶
SetMaxTime creates a new MaxTime instance.
func (*Find) SetNoCursorTimeout ¶
SetNoCursorTimeout creates a new NoCursorTimeout instance.
func (*Find) SetProjection ¶
SetProjection creates a new Projection instance.
func (*Find) SetReturnKey ¶
SetReturnKey creates a new ReturnKey instance.
func (*Find) SetShowRecordID ¶
SetShowRecordID creates a new ShowRecordID instance.
type FindOne ¶
type FindOne struct {
// AllowPartialResults If true, an operation on a sharded cluster can return partial results if some shards are
// down rather than returning an error. The default value is false.
AllowPartialResults *bool
// Collation Specifies a collation to use for string comparisons during the operation. This option is only valid
// for MongoDB versions >= 3.4. For previous server versions, the driver will return an error if this option is
// used. The default value is nil, which means the default collation of the collection will be used.
Collation *Collation
// Comment A string that will be included in server logs, profiling logs, and currentOp queries to help trace the operation.
// The default is nil, which means that no comment will be included in the logs.
Comment *string
// Hint The index to use for the aggregation. This should either be the index name as a string or the index specification
// as a document. The driver will return an error if the hint parameter is a multi-key map. The default value is nil,
// which means that no hint will be sent.
Hint any
// Max A document specifying the exclusive upper bound for a specific index. The default value is nil, which means that
// there is no maximum value.
Max any
// MaxTime The maximum amount of time that the query can run on the server. The default value is nil, meaning that
// there is no time limit for query execution.
//
// NOTE: MaxTime 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. MaxTime is
// ignored if Timeout is set on the client.
MaxTime *time.Duration
// Min A document specifying the inclusive lower bound for a specific index. The default value is 0, which means that
// there is no minimum value.
Min any
// Projection A document describing which fields will be included in the document returned by the operation.
// The default value is nil, which means all fields will be included.
Projection any
// ReturnKey If true, the document returned by the operation will only contain fields corresponding to the index
// used. The default value is false.
ReturnKey *bool
// ShowRecordID If true, a $recordId field with a record identifier will be included in the document returned by
// the operation. The default value is false.
ShowRecordID *bool
// Skip The number of documents to skip before selecting the document to be returned. The default value is 0.
Skip *int64
// Sort A document specifying the sort order to apply to the query. The first document in the sorted order will be
// returned. The driver will return an error if the sort parameter is a multi-key map.
Sort any
}
FindOne represents options that can be used to configure a FindOne operation.
func MergeFindOneByParams ¶ added in v1.1.2
MergeFindOneByParams assembles the FindOne object from optional parameters.
func (*FindOne) SetAllowPartialResults ¶
SetAllowPartialResults creates a new AllowPartialResults instance.
func (*FindOne) SetCollation ¶
SetCollation creates a new Collation instance.
func (*FindOne) SetComment ¶
SetComment creates a new Comment instance.
func (*FindOne) SetMaxTime ¶
SetMaxTime creates a new MaxTime instance.
func (*FindOne) SetProjection ¶
SetProjection creates a new Projection instance.
func (*FindOne) SetReturnKey ¶
SetReturnKey creates a new ReturnKey instance.
func (*FindOne) SetShowRecordID ¶
SetShowRecordID creates a new ShowRecordID instance.
type FindOneAndDelete ¶
type FindOneAndDelete struct {
// Collation Specifies a collation to use for string comparisons during the operation. This option is only valid
// for MongoDB versions >= 3.4. For previous server versions, the driver will return an error if this option is
// used. The default value is nil, which means the default collation of the collection will be used.
Collation *Collation
// Comment A string or document that will be included in server logs, profiling logs, and currentOp queries to help trace
// the operation. The default value is nil, which means that no comment will be included in the logs.
Comment any
// MaxTime The maximum amount of time that the query can run on the server. The default value is nil, meaning that
// there is no time limit for query execution.
//
// NOTE: MaxTime 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. MaxTime is
// ignored if Timeout is set on the client.
MaxTime *time.Duration
// Projection A document describing which fields will be included in the document returned by the operation.
// The default value is nil, which means all fields will be included.
Projection any
// Sort A document specifying which document should be replaced if the filter used by the operation matches multiple
// documents in the collection. If set, the first document in the sorted order will be selected for replacement.
// The driver will return an error if the sort parameter is a multi-key map. The default value is nil.
Sort any
// Hint The index to use for the operation. This should either be the index name as a string or the index specification
// as a document. This option is only valid for MongoDB versions >= 4.4. MongoDB version 4.2 will report an error if
// this option is specified. For server versions < 4.2, the driver will return an error if this option is specified.
// The driver will return an error if this option is used with during an unacknowledged write operation. The driver
// will return an error if the hint parameter is a multi-key map. The default value is nil, which means that no hint
// will be sent.
Hint any
// Let Specifies parameters for the find one and delete expression. This option is only valid for
// MongoDB versions >= 5.0. Older servers will report an error for using this option. This must be a document
// mapping parameter names to values. Values must be constant or closed expressions that do not reference document
// fields. Parameters can then be accessed as variables in an aggregate expression context (e.g. "$$var").
Let any
// DisableAutoRollbackSession disable auto rollback if an error occurs.
DisableAutoRollbackSession *bool
// DisableAutoCloseSession Disable automatic closing session, if true, we automatically close session according to
// the result, if an error occurs, we abort the transaction, otherwise, we commit the transaction.
// default is false.
DisableAutoCloseSession *bool
// ForceRecreateSession Force the creation of the session, if any session is still open, we close it automatically,
// committing the transactions, and continue creating a new session.
// default is false.
ForceRecreateSession *bool
}
FindOneAndDelete represents options that can be used to configure a FindOneAndDelete operation.
func MergeFindOneAndDeleteByParams ¶ added in v1.1.2
func MergeFindOneAndDeleteByParams(opts []*FindOneAndDelete, global *Global) *FindOneAndDelete
MergeFindOneAndDeleteByParams assembles the FindOneAndDelete object from optional parameters.
func NewFindOneAndDelete ¶
func NewFindOneAndDelete() *FindOneAndDelete
NewFindOneAndDelete creates a new FindOneAndDelete instance.
func (*FindOneAndDelete) SetCollation ¶
func (f *FindOneAndDelete) SetCollation(c *Collation) *FindOneAndDelete
SetCollation creates a new Collation instance.
func (*FindOneAndDelete) SetComment ¶
func (f *FindOneAndDelete) SetComment(a any) *FindOneAndDelete
SetComment creates a new Comment instance.
func (*FindOneAndDelete) SetDisableAutoCloseSession ¶
func (f *FindOneAndDelete) SetDisableAutoCloseSession(b bool) *FindOneAndDelete
SetDisableAutoCloseSession creates a new DisableAutoCloseSession instance.
func (*FindOneAndDelete) SetDisableAutoRollbackSession ¶ added in v1.2.1
func (f *FindOneAndDelete) SetDisableAutoRollbackSession(b bool) *FindOneAndDelete
SetDisableAutoRollbackSession creates a new DisableAutoRollbackSession instance.
func (*FindOneAndDelete) SetForceRecreateSession ¶
func (f *FindOneAndDelete) SetForceRecreateSession(b bool) *FindOneAndDelete
SetForceRecreateSession creates a new ForceRecreateSession instance.
func (*FindOneAndDelete) SetHint ¶
func (f *FindOneAndDelete) SetHint(v any) *FindOneAndDelete
SetHint creates a new Hint instance.
func (*FindOneAndDelete) SetLet ¶
func (f *FindOneAndDelete) SetLet(v any) *FindOneAndDelete
SetLet creates a new Let instance.
func (*FindOneAndDelete) SetMaxTime ¶
func (f *FindOneAndDelete) SetMaxTime(d time.Duration) *FindOneAndDelete
SetMaxTime creates a new MaxTime instance.
func (*FindOneAndDelete) SetProjection ¶
func (f *FindOneAndDelete) SetProjection(v any) *FindOneAndDelete
SetProjection creates a new Projection instance.
func (*FindOneAndDelete) SetSort ¶
func (f *FindOneAndDelete) SetSort(a any) *FindOneAndDelete
SetSort creates a new Sort instance.
type FindOneAndReplace ¶
type FindOneAndReplace struct {
// BypassDocumentValidation If true, writes executed as part of the operation will opt out of document-level
// validation on the server. This option is valid for MongoDB versions >= 3.2 and is ignored for previous server
// versions. The default value is false. See https://www.mongodb.com/docs/manual/core/schema-validation/ for more
// information about document validation.
BypassDocumentValidation *bool
// Collation Specifies a collation to use for string comparisons during the operation. This option is only valid
// for MongoDB versions >= 3.4. For previous server versions, the driver will return an error if this option is
// used. The default value is nil, which means the default collation of the collection will be used.
Collation *Collation
// Comment A string or document that will be included in server logs, profiling logs, and currentOp queries to help trace
// the operation. The default value is nil, which means that no comment will be included in the logs.
Comment any
// MaxTime The maximum amount of time that the query can run on the server. The default value is nil, meaning that
// there is no time limit for query execution.
//
// NOTE: MaxTime 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. MaxTime is
// ignored if Timeout is set on the client.
MaxTime *time.Duration
// Projection A document describing which fields will be included in the document returned by the operation.
// The default value is nil, which means all fields will be included.
Projection any
// ReturnDocument Specifies whether the original or replaced document should be returned by the operation.
// The default value is Before, which means the original document will be returned from before the replacement is performed.
ReturnDocument *ReturnDocument
// Sort A document specifying which document should be replaced if the filter used by the operation matches multiple
// documents in the collection. If set, the first document in the sorted order will be replaced. The driver will
// return an error if the sort parameter is a multi-key map. The default value is nil.
Sort any
// Upsert If true, a new document will be inserted if the filter does not match any documents in the collection. The
// default value is false.
Upsert *bool
// Hint The index to use for the operation. This should either be the index name as a string or the index specification
// as a document. This option is only valid for MongoDB versions >= 4.4. MongoDB version 4.2 will report an error if
// this option is specified. For server versions < 4.2, the driver will return an error if this option is specified.
// The driver will return an error if this option is used with during an unacknowledged write operation. The driver
// will return an error if the hint parameter is a multi-key map. The default value is nil, which means that no hint
// will be sent.
Hint any
// Let Specifies parameters for the find one and replace expression. This option is only valid for MongoDB
// versions >= 5.0. Older servers will report an error for using this option. This must be a document mapping
// parameter names to values. Values must be constant or closed expressions that do not reference document fields.
// Parameters can then be accessed as variables in an aggregate expression context (e.g. "$$var").
Let any
// DisableAutoRollbackSession disable auto rollback if an error occurs.
DisableAutoRollbackSession *bool
// DisableAutoCloseSession Disable automatic closing session, if true, we automatically close session according to
// the result, if an error occurs, we abort the transaction, otherwise, we commit the transaction.
// default is false.
DisableAutoCloseSession *bool
// ForceRecreateSession Force the creation of the session, if any session is still open, we close it automatically,
// committing the transactions, and continue creating a new session.
// default is false.
ForceRecreateSession *bool
}
FindOneAndReplace represents options that can be used to configure a FindOneAndReplace operation.
func MergeFindOneAndReplaceByParams ¶ added in v1.1.2
func MergeFindOneAndReplaceByParams(opts []*FindOneAndReplace, global *Global) *FindOneAndReplace
MergeFindOneAndReplaceByParams assembles the FindOneAndReplace object from optional parameters.
func NewFindOneAndReplace ¶
func NewFindOneAndReplace() *FindOneAndReplace
NewFindOneAndReplace creates a new FindOneAndReplace instance.
func (*FindOneAndReplace) SetBypassDocumentValidation ¶
func (f *FindOneAndReplace) SetBypassDocumentValidation(b bool) *FindOneAndReplace
SetBypassDocumentValidation sets value for the BypassDocumentValidation field.
func (*FindOneAndReplace) SetCollation ¶
func (f *FindOneAndReplace) SetCollation(c *Collation) *FindOneAndReplace
SetCollation sets value for the Collation field.
func (*FindOneAndReplace) SetComment ¶
func (f *FindOneAndReplace) SetComment(a any) *FindOneAndReplace
SetComment sets value for the Comment field.
func (*FindOneAndReplace) SetDisableAutoCloseSession ¶
func (f *FindOneAndReplace) SetDisableAutoCloseSession(b bool) *FindOneAndReplace
SetDisableAutoCloseSession creates a new DisableAutoCloseSession instance.
func (*FindOneAndReplace) SetDisableAutoRollbackSession ¶ added in v1.2.1
func (f *FindOneAndReplace) SetDisableAutoRollbackSession(b bool) *FindOneAndReplace
SetDisableAutoRollbackSession creates a new DisableAutoCloseSession instance.
func (*FindOneAndReplace) SetForceRecreateSession ¶
func (f *FindOneAndReplace) SetForceRecreateSession(b bool) *FindOneAndReplace
SetForceRecreateSession sets value for the ForceRecreateSession field.
func (*FindOneAndReplace) SetHint ¶
func (f *FindOneAndReplace) SetHint(v any) *FindOneAndReplace
SetHint sets value for the Hint field.
func (*FindOneAndReplace) SetLet ¶
func (f *FindOneAndReplace) SetLet(v any) *FindOneAndReplace
SetLet sets value for the Let field.
func (*FindOneAndReplace) SetMaxTime ¶
func (f *FindOneAndReplace) SetMaxTime(d time.Duration) *FindOneAndReplace
SetMaxTime creates a new MaxTime instance.
func (*FindOneAndReplace) SetProjection ¶
func (f *FindOneAndReplace) SetProjection(v any) *FindOneAndReplace
SetProjection creates a new Projection instance.
func (*FindOneAndReplace) SetReturnDocument ¶
func (f *FindOneAndReplace) SetReturnDocument(r ReturnDocument) *FindOneAndReplace
SetReturnDocument creates a new ReturnDocument instance.
func (*FindOneAndReplace) SetSort ¶
func (f *FindOneAndReplace) SetSort(a any) *FindOneAndReplace
SetSort creates a new Sort instance.
func (*FindOneAndReplace) SetUpsert ¶
func (f *FindOneAndReplace) SetUpsert(b bool) *FindOneAndReplace
SetUpsert creates a new Upsert instance.
type FindOneAndUpdate ¶
type FindOneAndUpdate struct {
// ArrayFilters A set of filters specifying to which array elements an update should apply. This option is only
// valid for MongoDB versions >= 3.6. For previous server versions, the driver will return an error if this option
// is used. The default value is nil, which means the update will apply to all array elements.
ArrayFilters *ArrayFilters
// BypassDocumentValidation If true, writes executed as part of the operation will opt out of document-level
// validation on the server. This option is valid for MongoDB versions >= 3.2 and is ignored for previous server
// versions. The default value is false. See https://www.mongodb.com/docs/manual/core/schema-validation/ for more
// information about document validation.
BypassDocumentValidation *bool
// Collation Specifies a collation to use for string comparisons during the operation. This option is only valid
// for MongoDB versions >= 3.4. For previous server versions, the driver will return an error if this option is
// used. The default value is nil, which means the default collation of the collection will be used.
Collation *Collation
// Comment A string or document that will be included in server logs, profiling logs, and currentOp queries to help trace
// the operation. The default value is nil, which means that no comment will be included in the logs.
Comment any
// MaxTime The maximum amount of time that the query can run on the server. The default value is nil, meaning that
// there is no time limit for query execution.
//
// NOTE: MaxTime 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. MaxTime is
// ignored if Timeout is set on the client.
MaxTime *time.Duration
// Projection A document describing which fields will be included in the document returned by the operation.
// The default value is nil, which means all fields will be included.
Projection any
// ReturnDocument Specifies whether the original or replaced document should be returned by the operation.
// The default value is Before, which means the original document will be returned before the replacement is performed.
ReturnDocument *ReturnDocument
// Sort A document specifying which document should be updated if the filter used by the operation matches multiple
// documents in the collection. If set, the first document in the sorted order will be updated. The driver will
// return an error if the sort parameter is a multi-key map. The default value is nil.
Sort any
// Upsert If true, a new document will be inserted if the filter does not match any documents in the collection. The
// default value is false.
Upsert *bool
// Hint The index to use for the operation. This should either be the index name as a string or the index specification
// as a document. This option is only valid for MongoDB versions >= 4.4. MongoDB version 4.2 will report an error if
// this option is specified. For server versions < 4.2, the driver will return an error if this option is specified.
// The driver will return an error if this option is used with during an unacknowledged write operation. The driver
// will return an error if the hint parameter is a multi-key map. The default value is nil, which means that no hint
// will be sent.
Hint any
// Let Specifies parameters for the find one and update expression. This option is only valid for MongoDB versions >= 5.0. Older
// servers will report an error for using this option. This must be a document mapping parameter names to values.
// Values must be constant or closed expressions that do not reference document fields. Parameters can then be
// accessed as variables in an aggregate expression context (e.g. "$$var").
Let any
// DisableAutoRollbackSession disable auto rollback if an error occurs.
DisableAutoRollbackSession *bool
// DisableAutoCloseSession Disable automatic closing session, if true, we automatically close session according to
// the result, if an error occurs, we abort the transaction, otherwise, we commit the transaction.
// default is false
DisableAutoCloseSession *bool
// ForceRecreateSession Force the creation of the session, if any session is still open, we close it automatically,
// committing the transactions, and continue creating a new session.
// default is false
ForceRecreateSession *bool
}
FindOneAndUpdate represents options that can be used to configure a FindOneAndUpdate operation.
func MergeFindOneAndUpdateByParams ¶ added in v1.1.2
func MergeFindOneAndUpdateByParams(opts []*FindOneAndUpdate, global *Global) *FindOneAndUpdate
MergeFindOneAndUpdateByParams assembles the FindOneAndUpdate object from optional parameters.
func NewFindOneAndUpdate ¶
func NewFindOneAndUpdate() *FindOneAndUpdate
NewFindOneAndUpdate creates a new FindOneAndUpdate instance.
func (*FindOneAndUpdate) SetArrayFilters ¶
func (f *FindOneAndUpdate) SetArrayFilters(a *ArrayFilters) *FindOneAndUpdate
func (*FindOneAndUpdate) SetBypassDocumentValidation ¶
func (f *FindOneAndUpdate) SetBypassDocumentValidation(b bool) *FindOneAndUpdate
SetBypassDocumentValidation sets value for the BypassDocumentValidation field.
func (*FindOneAndUpdate) SetCollation ¶
func (f *FindOneAndUpdate) SetCollation(c *Collation) *FindOneAndUpdate
SetCollation sets value for the Collation field.
func (*FindOneAndUpdate) SetComment ¶
func (f *FindOneAndUpdate) SetComment(a any) *FindOneAndUpdate
SetComment sets value for the Comment field.
func (*FindOneAndUpdate) SetDisableAutoCloseSession ¶
func (f *FindOneAndUpdate) SetDisableAutoCloseSession(b bool) *FindOneAndUpdate
SetDisableAutoCloseSession creates a new DisableAutoCloseSession instance.
func (*FindOneAndUpdate) SetDisableAutoRollbackSession ¶ added in v1.2.1
func (f *FindOneAndUpdate) SetDisableAutoRollbackSession(b bool) *FindOneAndUpdate
SetDisableAutoRollbackSession creates a new DisableAutoRollbackSession instance.
func (*FindOneAndUpdate) SetForceRecreateSession ¶
func (f *FindOneAndUpdate) SetForceRecreateSession(b bool) *FindOneAndUpdate
SetForceRecreateSession sets value for the ForceRecreateSession field.
func (*FindOneAndUpdate) SetHint ¶
func (f *FindOneAndUpdate) SetHint(v any) *FindOneAndUpdate
SetHint sets value for the Hint field.
func (*FindOneAndUpdate) SetLet ¶
func (f *FindOneAndUpdate) SetLet(v any) *FindOneAndUpdate
SetLet sets value for the Let field.
func (*FindOneAndUpdate) SetMaxTime ¶
func (f *FindOneAndUpdate) SetMaxTime(d time.Duration) *FindOneAndUpdate
SetMaxTime creates a new MaxTime instance.
func (*FindOneAndUpdate) SetProjection ¶
func (f *FindOneAndUpdate) SetProjection(v any) *FindOneAndUpdate
SetProjection creates a new Projection instance.
func (*FindOneAndUpdate) SetReturnDocument ¶
func (f *FindOneAndUpdate) SetReturnDocument(r ReturnDocument) *FindOneAndUpdate
SetReturnDocument creates a new ReturnDocument instance.
func (*FindOneAndUpdate) SetSort ¶
func (f *FindOneAndUpdate) SetSort(i any) *FindOneAndUpdate
SetSort creates a new Sort instance.
func (*FindOneAndUpdate) SetUpsert ¶
func (f *FindOneAndUpdate) SetUpsert(b bool) *FindOneAndUpdate
SetUpsert creates a new Upsert instance.
type FindOneById ¶
type FindOneById struct {
// If true, an operation on a sharded cluster can return partial results if some shards are down rather than
// returning an error. The default value is false.
AllowPartialResults *bool
// Collation Specifies a collation to use for string comparisons during the operation. This option is only valid
// for MongoDB versions >= 3.4. For previous server versions, the driver will return an error if this option is
// used. The default value is nil, which means the default collation of the collection will be used.
Collation *Collation
// A string that will be included in server logs, profiling logs, and currentOp queries to help trace the operation.
// The default is nil, which means that no comment will be included in the logs.
Comment *string
// The index to use for the aggregation. This should either be the index name as a string or the index specification
// as a document. The driver will return an error if the hint parameter is a multi-key map. The default value is nil,
// which means that no hint will be sent.
Hint any
// A document specifying the exclusive upper bound for a specific index. The default value is nil, which means that
// there is no maximum value.
Max any
// MaxTime The maximum amount of time that the query can run on the server. The default value is nil, meaning that
// there is no time limit for query execution.
//
// NOTE: MaxTime 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. MaxTime is
// ignored if Timeout is set on the client.
MaxTime *time.Duration
// A document specifying the inclusive lower bound for a specific index. The default value is 0, which means that
// there is no minimum value.
Min any
// A document describing which fields will be included in the document returned by the operation. The default value
// is nil, which means all fields will be included.
Projection any
// If true, the document returned by the operation will only contain fields corresponding to the index used. The
// default value is false.
ReturnKey *bool
// If true, a $recordId field with a record identifier will be included in the document returned by the operation.
// The default value is false.
ShowRecordID *bool
}
FindOneById represents options that can be used to configure a 'FindOneById' operation.
func MergeFindOneByIdByParams ¶ added in v1.1.2
func MergeFindOneByIdByParams(opts []*FindOneById) *FindOneById
MergeFindOneByIdByParams assembles the FindOneById object from optional parameters.
func NewFindOneById ¶
func NewFindOneById() *FindOneById
NewFindOneById creates a new FindOneById instance.
func (*FindOneById) SetAllowPartialResults ¶
func (f *FindOneById) SetAllowPartialResults(b bool) *FindOneById
SetAllowPartialResults creates a new AllowPartialResults instance.
func (*FindOneById) SetCollation ¶
func (f *FindOneById) SetCollation(c *Collation) *FindOneById
SetCollation creates a new Collation instance.
func (*FindOneById) SetComment ¶
func (f *FindOneById) SetComment(s string) *FindOneById
SetComment creates a new Comment instance.
func (*FindOneById) SetHint ¶
func (f *FindOneById) SetHint(v any) *FindOneById
SetHint creates a new Hint instance.
func (*FindOneById) SetMax ¶
func (f *FindOneById) SetMax(v any) *FindOneById
SetMax creates a new Max instance.
func (*FindOneById) SetMaxTime ¶
func (f *FindOneById) SetMaxTime(d time.Duration) *FindOneById
SetMaxTime creates a new MaxTime instance.
func (*FindOneById) SetMin ¶
func (f *FindOneById) SetMin(v any) *FindOneById
SetMin creates a new Min instance.
func (*FindOneById) SetProjection ¶
func (f *FindOneById) SetProjection(v any) *FindOneById
SetProjection creates a new Projection instance.
func (*FindOneById) SetReturnKey ¶
func (f *FindOneById) SetReturnKey(b bool) *FindOneById
SetReturnKey creates a new ReturnKey instance.
func (*FindOneById) SetShowRecordID ¶
func (f *FindOneById) SetShowRecordID(b bool) *FindOneById
SetShowRecordID creates a new ShowRecordID instance.
type FindPageable ¶
type FindPageable struct {
// AllowDiskUse specifies whether the server can write temporary data to disk while executing the Find operation.
// This option is only valid for MongoDB versions >= 4.4. Server versions >= 3.2 will report an error if this option
// is specified. For server versions < 3.2, the driver will return a client-side error if this option is specified.
// The default value is false.
AllowDiskUse *bool
// AllowPartial results specifies whether the Find operation on a sharded cluster can return partial results if some
// shards are down rather than returning an error. The default value is false.
AllowPartialResults *bool
// BatchSize is the maximum number of documents to be included in each batch returned by the server.
BatchSize *int32
// Collation Specifies a collation to use for string comparisons during the operation. This option is only valid
// for MongoDB versions >= 3.4. For previous server versions, the driver will return an error if this option is
// used. The default value is nil, which means the default collation of the collection will be used.
Collation *Collation
// A string that will be included in server logs, profiling logs, and currentOp queries to help trace the operation.
// The default is nil, which means that no comment will be included in the logs.
Comment *string
// CursorType specifies the type of cursor that should be created for the operation. The default is NonTailable, which
// means that the cursor will be closed by the server when the last batch of documents is retrieved.
CursorType *CursorType
// Hint is the index to use for the Find operation. This should either be the index name as a string or the index
// specification as a document. The driver will return an error if the hint parameter is a multi-key map. The default
// value is nil, which means that no hint will be sent.
Hint any
// Max is a document specifying the exclusive upper bound for a specific index. The default value is nil, which means that
// there is no maximum value.
Max any
// MaxAwaitTime is the maximum amount of time that the server should wait for new documents to satisfy a tailable cursor
// query. This option is only valid for tailable await cursors (see the CursorType option for more information) and
// MongoDB versions >= 3.2. For other cursor types or previous server versions, this option is ignored.
MaxAwaitTime *time.Duration
// MaxTime The maximum amount of time that the query can run on the server. The default value is nil, meaning that
// there is no time limit for query execution.
//
// NOTE: MaxTime 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. MaxTime is
// ignored if Timeout is set on the client.
MaxTime *time.Duration
// Min is a document specifying the inclusive lower bound for a specific index. The default value is 0, which means that
// there is no minimum value.
Min any
// NoCursorTimeout specifies whether the cursor created by the operation will not time out after a period of inactivity.
// The default value is false.
NoCursorTimeout *bool
// Project is a document describing which fields will be included in the documents returned by the Find operation. The
// default value is nil, which means all fields will be included.
Projection any
// ReturnKey specifies whether the documents returned by the Find operation will only contain fields corresponding to the
// index used. The default value is false.
ReturnKey *bool
// ShowRecordID specifies whether a $recordId field with a record identifier will be included in the documents returned by
// the Find operation. The default value is false.
ShowRecordID *bool
// Let specifies parameters for the find expression. This option is only valid for MongoDB versions >= 5.0. Older
// servers will report an error for using this option. This must be a document mapping parameter names to values.
// Values must be constant or closed expressions that do not reference document fields. Parameters can then be
// accessed as variables in an aggregate expression context (e.g. "$$var").
Let any
}
FindPageable represents options that can be used to configure a 'FindPageable' operation.
func MergeFindPageableByParams ¶ added in v1.1.2
func MergeFindPageableByParams(opts []*FindPageable) *FindPageable
MergeFindPageableByParams assembles the FindPageable object from optional parameters.
func NewFindPageable ¶
func NewFindPageable() *FindPageable
NewFindPageable creates a new FindPageable instance.
func (*FindPageable) SetAllowDiskUse ¶
func (f *FindPageable) SetAllowDiskUse(b bool) *FindPageable
SetAllowDiskUse creates a new AllowDiskUse instance.
func (*FindPageable) SetAllowPartialResults ¶
func (f *FindPageable) SetAllowPartialResults(b bool) *FindPageable
SetAllowPartialResults creates a new AllowPartialResults instance.
func (*FindPageable) SetBatchSize ¶
func (f *FindPageable) SetBatchSize(i int32) *FindPageable
SetBatchSize creates a new BatchSize instance.
func (*FindPageable) SetCollation ¶
func (f *FindPageable) SetCollation(c *Collation) *FindPageable
SetCollation creates a new Collation instance.
func (*FindPageable) SetComment ¶
func (f *FindPageable) SetComment(s string) *FindPageable
SetComment creates a new Comment instance.
func (*FindPageable) SetCursorType ¶
func (f *FindPageable) SetCursorType(c CursorType) *FindPageable
SetCursorType creates a new CursorType instance.
func (*FindPageable) SetHint ¶
func (f *FindPageable) SetHint(v any) *FindPageable
SetHint creates a new Hint instance.
func (*FindPageable) SetLet ¶
func (f *FindPageable) SetLet(v any) *FindPageable
SetLet creates a new Let instance.
func (*FindPageable) SetMax ¶
func (f *FindPageable) SetMax(v any) *FindPageable
SetMax creates a new Max instance.
func (*FindPageable) SetMaxAwaitTime ¶
func (f *FindPageable) SetMaxAwaitTime(d time.Duration) *FindPageable
SetMaxAwaitTime creates a new MaxAwaitTime instance.
func (*FindPageable) SetMaxTime ¶
func (f *FindPageable) SetMaxTime(d time.Duration) *FindPageable
SetMaxTime creates a new MaxTime instance.
func (*FindPageable) SetMin ¶
func (f *FindPageable) SetMin(v any) *FindPageable
SetMin creates a new Min instance.
func (*FindPageable) SetNoCursorTimeout ¶
func (f *FindPageable) SetNoCursorTimeout(b bool) *FindPageable
SetNoCursorTimeout creates a new NoCursorTimeout instance.
func (*FindPageable) SetProjection ¶
func (f *FindPageable) SetProjection(v any) *FindPageable
SetProjection creates a new Projection instance.
func (*FindPageable) SetReturnKey ¶
func (f *FindPageable) SetReturnKey(b bool) *FindPageable
SetReturnKey creates a new ReturnKey instance.
func (*FindPageable) SetShowRecordID ¶
func (f *FindPageable) SetShowRecordID(b bool) *FindPageable
SetShowRecordID creates a new ShowRecordID instance.
type FullDocument ¶
type FullDocument string
FullDocument specifies how a Change stream should return the modified document.
const ( // FullDocumentDefault does not include a document copy. FullDocumentDefault FullDocument = "default" // FullDocumentOff is the same as sending no value for fullDocumentBeforeChange. FullDocumentOff FullDocument = "off" // FullDocumentRequired is the same as WhenAvailable but raises a server-side error if the post-image is not available. FullDocumentRequired FullDocument = "required" // FullDocumentUpdateLookup includes a delta describing the changes to the document and a copy of the entire document that // was changed. FullDocumentUpdateLookup FullDocument = "updateLookup" // FullDocumentWhenAvailable includes a post-image of the modified document for replace and update Change events // if the post-image for this event is available. FullDocumentWhenAvailable FullDocument = "whenAvailable" )
type Global ¶ added in v1.2.1
type Global struct {
// BypassDocumentValidation If true, writes executed as part of the operation will opt out of document-level
// validation on the server. This option is valid for MongoDB versions >= 3.2 and is ignored for previous server
// versions. The default value is false.
// See https://www.mongodb.com/docs/manual/core/schema-validation/ for more information about document validation.
BypassDocumentValidation bool
// Comment A string or document that will be included in server logs, profiling logs, and currentOp queries to help
// trace the operation. The default value is nil, which means that no comment will be included in the logs.
Comment any
// DisableAutoRollbackSession disable auto rollback if an error occurs.
DisableAutoRollbackSession bool
// DisableAutoCloseSession Disable automatic closing session, if true, we automatically close session according to
// the result, if an error occurs, we abort the transaction, otherwise, we commit the transaction.
// default is false
DisableAutoCloseSession bool
// ForceRecreateSession Force the creation of the session, if any session is still open, we close it automatically,
// aborting all open transactions, and continue creating a new session.
// default is false
ForceRecreateSession bool
}
Global represents options that can be used for all operations as a default form, it is important to highlight that it will not overwrite operation options.
type Index ¶
type Index struct {
// ExpireAfterSeconds The length of time, in seconds, for documents to remain in the collection. The default value
// is 0, which means that documents will remain in the collection until they're explicitly deleted or the collection
// is dropped.
ExpireAfterSeconds *int32
// Name The name of the index. The default value is "[field1]_[direction1]_[field2]_[direction2]...". For example, an
// index with the specification {name: 1, age: -1} will be named "name_1_age_-1".
Name *string
// Sparse If true, the index will only reference documents that contain the fields specified in the index.
// The default is false.
Sparse *bool
// StorageEngine Specifies the storage engine to use for the index. The value must be a document in the form
// {<storage engine name>: <options>}. The default value is nil, which means that the default storage engine
// will be used. This option is only applicable for MongoDB versions >= 3.0 and is ignored for previous server
// versions.
StorageEngine any
// Unique If true, the collection will not accept insertion or update of documents where the index key value matches an
// existing value in the index. The default is false.
Unique *bool
// Version The index version number, either 0 or 1.
Version *int32
// DefaultLanguage The language that determines the list of stop words and the rules for the stemmer and tokenizer.
// This option is only applicable for text indexes and is ignored for other index types. The default value is "english".
DefaultLanguage *string
// LanguageOverride The name of the field in the collection's documents that contains the override language for the
// document. This option is only applicable for text indexes and is ignored for other index types. The default value
// is the value of the DefaultLanguage option.
LanguageOverride *string
// TextVersion The index version number for a text index.
// See https://www.mongodb.com/docs/manual/core/index-text/#text-versions for information about different version numbers.
TextVersion *int32
// Weights A document that contains field and weight pairs. The weight is an integer ranging from 1 to 99,999, inclusive,
// indicating the significance of the field relative to the other indexed fields in terms of the score. This option
// is only applicable for text indexes and is ignored for other index types. The default value is nil, which means
// that every field will have a weight of 1.
Weights any
// SphereVersion The index version number for a 2D sphere index.
// See https://www.mongodb.com/docs/manual/core/2dsphere/#dsphere-v2 for information about different version numbers.
SphereVersion *int32
// Bits The precision of the stored geo hash value of the location data. This option only applies to 2D indexes and
// is ignored for other index types. The value must be between 1 and 32, inclusive. The default value is 26.
Bits *int32
// Max The upper inclusive boundary for longitude and latitude values. This option is only applicable to 2D indexes
// and is ignored for other index types. The default value is 180.0.
Max *float64
// Min The lower inclusive boundary for longitude and latitude values. This option is only applicable to 2D indexes
// and is ignored for other index types. The default value is -180.0.
Min *float64
// BucketSize The number of units within which to group location values. Location values that are within BucketSize
// units of each other will be grouped in the same bucket. This option is only applicable to geoHaystack indexes and is
// ignored for other index types. The value must be greater than 0.
BucketSize *int32
// PartialFilterExpression A document that defines which collection documents the index should reference.
// This option is only valid for MongoDB versions >= 3.2 and is ignored for previous server versions.
PartialFilterExpression any
// Collation Specifies a collation to use for string comparisons during the operation. This option is only valid
// for MongoDB versions >= 3.4. For previous server versions, the driver will return an error if this option is
// used. The default value is nil, which means the default collation of the collection will be used.
Collation *Collation
// WildcardProjection A document that defines the wildcard projection for the index.
WildcardProjection any
// Hidden If true, the index will exist on the target collection but will not be used by the query planner
// when executing operations. This option is only valid for MongoDB versions >= 4.4. The default value is false.
Hidden *bool
}
Index represents options that can be used to configure a CreateOneIndex and CreateManyIndex operation.
func (*Index) SetBucketSize ¶
SetBucketSize sets the value for the BucketSize field
func (*Index) SetCollation ¶
SetCollation sets the value for the Collation field.
func (*Index) SetDefaultLanguage ¶
SetDefaultLanguage sets the value for the DefaultLanguage field.
func (*Index) SetExpireAfterSeconds ¶
SetExpireAfterSeconds sets value for the ExpireAfterSeconds field.
func (*Index) SetLanguageOverride ¶
SetLanguageOverride sets the value of the LanguageOverride field.
func (*Index) SetPartialFilterExpression ¶
SetPartialFilterExpression sets the value for the PartialFilterExpression field.
func (*Index) SetSphereVersion ¶
SetSphereVersion sets the value for the SphereVersion field.
func (*Index) SetStorageEngine ¶
SetStorageEngine sets the value for the StorageEngine field.
func (*Index) SetTextVersion ¶
SetTextVersion sets the value for the TextVersion field.
func (*Index) SetVersion ¶
SetVersion sets the value for the Version field.
func (*Index) SetWeights ¶
SetWeights sets the value for the Weights field.
func (*Index) SetWildcardProjection ¶
SetWildcardProjection sets the value for the WildcardProjection field.
type InsertMany ¶
type InsertMany struct {
// BypassDocumentValidation If true, writes executed as part of the operation will opt out of document-level
// validation on the server. This option is valid for MongoDB versions >= 3.2 and is ignored for previous server
// versions. The default value is false.
// See https://www.mongodb.com/docs/manual/core/schema-validation/ for more information about document validation.
BypassDocumentValidation *bool
// Comment A string or document that will be included in server logs, profiling logs, and currentOp queries to help trace
// the operation. The default value is nil, which means that no comment will be included in the logs.
Comment any
// DisableAutoRollbackSession disable auto rollback if an error occurs.
DisableAutoRollbackSession *bool
// DisableAutoCloseSession Disable automatic closing session, if true, we automatically close session according to
// the result, if an error occurs, we abort the transaction, otherwise, we commit the transaction.
// default is false
DisableAutoCloseSession *bool
// ForceRecreateSession Force the creation of the session, if any session is still open, we close it automatically,
// committing the transactions, and continue creating a new session.
// default is false
ForceRecreateSession *bool
}
InsertMany represents options that can be used to configure a 'InsertMany' operation.
func MergeInsertManyByParams ¶ added in v1.1.2
func MergeInsertManyByParams(opts []*InsertMany, global *Global) *InsertMany
MergeInsertManyByParams assembles the InsertMany object from optional parameters.
func NewInsertMany ¶
func NewInsertMany() *InsertMany
NewInsertMany creates a new InsertMany instance.
func (*InsertMany) SetBypassDocumentValidation ¶
func (i *InsertMany) SetBypassDocumentValidation(b bool) *InsertMany
SetBypassDocumentValidation sets value for the BypassDocumentValidation field.
func (*InsertMany) SetComment ¶
func (i *InsertMany) SetComment(a any) *InsertMany
SetComment sets value for the Comment field.
func (*InsertMany) SetDisableAutoCloseSession ¶
func (i *InsertMany) SetDisableAutoCloseSession(b bool) *InsertMany
SetDisableAutoCloseSession creates a new DisableAutoCloseSession instance.
func (*InsertMany) SetDisableAutoRollback ¶
func (i *InsertMany) SetDisableAutoRollback(b bool) *InsertMany
SetDisableAutoRollback sets value for the DisableAutoRollbackSession field.
func (*InsertMany) SetForceRecreateSession ¶
func (i *InsertMany) SetForceRecreateSession(b bool) *InsertMany
SetForceRecreateSession sets value for the ForceRecreateSession field.
type InsertOne ¶
type InsertOne struct {
// BypassDocumentValidation If true, writes executed as part of the operation will opt out of document-level
// validation on the server. This option is valid for MongoDB versions >= 3.2 and is ignored for previous server
// versions. The default value is false.
// See https://www.mongodb.com/docs/manual/core/schema-validation/ for more information about document validation.
BypassDocumentValidation *bool
// Comment A string or document that will be included in server logs, profiling logs, and currentOp queries to help
// trace the operation. The default value is nil, which means that no comment will be included in the logs.
Comment any
// DisableAutoRollbackSession disable auto rollback if an error occurs.
DisableAutoRollbackSession *bool
// DisableAutoCloseSession Disable automatic closing session, if true, we automatically close session according to
// the result, if an error occurs, we abort the transaction, otherwise, we commit the transaction.
// default is false
DisableAutoCloseSession *bool
// ForceRecreateSession Force the creation of the session, if any session is still open, we close it automatically,
// aborting all open transactions, and continue creating a new session.
// default is false
ForceRecreateSession *bool
}
InsertOne represents options that can be used to configure a 'InsertOne' operation.
func MergeInsertOneByParams ¶ added in v1.1.2
MergeInsertOneByParams assembles the InsertOne object from optional parameters.
func (*InsertOne) SetBypassDocumentValidation ¶
SetBypassDocumentValidation sets value for the BypassDocumentValidation field.
func (*InsertOne) SetComment ¶
SetComment sets value for the Comment field.
func (*InsertOne) SetDisableAutoCloseSession ¶
SetDisableAutoCloseSession creates a new DisableAutoCloseSession instance.
func (*InsertOne) SetDisableAutoRollbackSession ¶ added in v1.2.1
SetDisableAutoRollbackSession creates a new DisableAutoRollbackSession instance.
func (*InsertOne) SetForceRecreateSession ¶
SetForceRecreateSession sets value for the ForceRecreateSession field.
type ListIndexes ¶
type ListIndexes struct {
// The maximum number of documents to be included in each batch returned by the server.
BatchSize *int32
// MaxTime The maximum amount of time that the query can run on the server. The default value is nil, meaning that
// there is no time limit for query execution.
//
// NOTE: MaxTime 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. MaxTime is
// ignored if Timeout is set on the client.
MaxTime *time.Duration
}
ListIndexes represents options that can be used to configure a ListIndexes and ListIndexSpecifications operation.
func MergeListIndexesByParams ¶ added in v1.1.2
func MergeListIndexesByParams(opts []*ListIndexes) *ListIndexes
MergeListIndexesByParams assembles the ListIndexes object from optional parameters.
func NewListIndexes ¶
func NewListIndexes() *ListIndexes
NewListIndexes creates a new ListIndexes instance.
func (*ListIndexes) SetBatchSize ¶
func (l *ListIndexes) SetBatchSize(i int32) *ListIndexes
SetBatchSize creates a new BatchSize instance.
func (*ListIndexes) SetMaxTime ¶
func (l *ListIndexes) SetMaxTime(duration time.Duration) *ListIndexes
SetMaxTime creates a new MaxTime instance.
type Replace ¶
type Replace struct {
// BypassDocumentValidation If true, writes executed as part of the operation will opt out of document-level
// validation on the server. This option is valid for MongoDB versions >= 3.2 and is ignored for previous server
// versions. The default value is false.
// See https://www.mongodb.com/docs/manual/core/schema-validation/ for more information about document validation.
BypassDocumentValidation *bool
// Collation Specifies a collation to use for string comparisons during the operation. This option is only valid
// for MongoDB versions >= 3.4. For previous server versions, the driver will return an error if this option is
// used. The default value is nil, which means the default collation of the collection will be used.
Collation *Collation
// Comment A string or document that will be included in server logs, profiling logs, and currentOp queries to help trace
// the operation. The default value is nil, which means that no comment will be included in the logs.
Comment any
// Hint The index to use for the operation. This should either be the index name as a string or the index specification
// as a document. This option is only valid for MongoDB versions >= 4.2. Server versions >= 3.4 will return an error
// if this option is specified. For server versions < 3.4, the driver will return a client-side error if this option
// is specified. The driver will return an error if this option is specified during an unacknowledged write
// operation. The driver will return an error if the hint parameter is a multi-key map. The default value is nil,
// which means that no hint will be sent.
Hint any
// Upsert If true, a new document will be inserted if the filter does not match any documents in the collection. The
// default value is false.
Upsert *bool
// Let Specifies parameters for the update expression. This option is only valid for MongoDB versions >= 5.0. Older
// servers will report an error for using this option. This must be a document mapping parameter names to values.
// Values must be constant or closed expressions that do not reference document fields. Parameters can then be
// accessed as variables in an aggregate expression context (e.g. "$$var").
Let any
// DisableAutoRollbackSession disable auto rollback if an error occurs.
DisableAutoRollbackSession *bool
// DisableAutoCloseSession Disable automatic closing session, if true, we automatically close session according to
// the result, if an error occurs, we abort the transaction, otherwise, we commit the transaction.
// default is false
DisableAutoCloseSession *bool
// ForceRecreateSession Force the creation of the session, if any session is still open, we close it automatically,
// committing the transactions, and continue creating a new session.
// default is false
ForceRecreateSession *bool
}
Replace represents options that can be used to configure a 'ReplaceOne' operation.
func MergeReplaceByParams ¶ added in v1.1.2
MergeReplaceByParams assembles the Replace object from optional parameters.
func (*Replace) SetBypassDocumentValidation ¶
SetBypassDocumentValidation sets value for the BypassDocumentValidation field.
func (*Replace) SetCollation ¶
SetCollation sets value for the Collation field.
func (*Replace) SetComment ¶
SetComment sets value for the Comment field.
func (*Replace) SetDisableAutoCloseSession ¶
SetDisableAutoCloseSession creates a new DisableAutoCloseSession instance.
func (*Replace) SetDisableAutoRollbackSession ¶ added in v1.2.1
SetDisableAutoRollbackSession creates a new DisableAutoRollbackSession instance.
func (*Replace) SetForceRecreateSession ¶
SetForceRecreateSession sets value for the ForceRecreateSession field.
type ReturnDocument ¶
type ReturnDocument int8
ReturnDocument specifies whether a findAndUpdate operation should return the document as it was before the update or as it is after the update.
const ( // ReturnDocumentBefore specifies that findAndUpdate should return the document as it was before the update. ReturnDocumentBefore ReturnDocument = iota // ReturnDocumentAfter specifies that findAndUpdate should return the document as it is after the update. ReturnDocumentAfter )
type Update ¶
type Update struct {
// ArrayFilters A set of filters specifying to which array elements an update should apply. This option is only valid for MongoDB
// versions >= 3.6. For previous server versions, the driver will return an error if this option is used. The
// default value is nil, which means the update will apply to all array elements.
ArrayFilters *ArrayFilters
// BypassDocumentValidation If true, writes executed as part of the operation will opt out of document-level
// validation on the server. This option is valid for MongoDB versions >= 3.2 and is ignored for previous server
// versions. The default value is false.
// See https://www.mongodb.com/docs/manual/core/schema-validation/ for more information about document validation.
BypassDocumentValidation *bool
// Collation Specifies a collation to use for string comparisons during the operation. This option is only valid
// for MongoDB versions >= 3.4. For previous server versions, the driver will return an error if this option is
// used. The default value is nil, which means the default collation of the collection will be used.
Collation *Collation
// Comment A string or document that will be included in server logs, profiling logs, and currentOp queries to help trace
// the operation. The default value is nil, which means that no comment will be included in the logs.
Comment any
// Hint The index to use for the operation. This should either be the index name as a string or the index specification
// as a document. This option is only valid for MongoDB versions >= 4.2. Server versions >= 3.4 will return an error
// if this option is specified. For server versions < 3.4, the driver will return a client-side error if this option
// is specified. The driver will return an error if this option is specified during an unacknowledged write
// operation. The driver will return an error if the hint parameter is a multi-key map. The default value is nil,
// which means that no hint will be sent.
Hint any
// Upsert If true, a new document will be inserted if the filter does not match any documents in the collection. The
// default value is false.
Upsert *bool
// Let Specifies parameters for the update expression. This option is only valid for MongoDB versions >= 5.0. Older
// servers will report an error for using this option. This must be a document mapping parameter names to values.
// Values must be constant or closed expressions that do not reference document fields. Parameters can then be
// accessed as variables in an aggregate expression context (e.g. "$$var").
Let any
// DisableAutoRollbackSession disable auto rollback if an error occurs.
DisableAutoRollbackSession *bool
// DisableAutoCloseSession Disable automatic closing session, if true, we automatically close session according to
// the result, if an error occurs, we abort the transaction, otherwise, we commit the transaction.
// default is false
DisableAutoCloseSession *bool
// ForceRecreateSession Force the creation of the session, if any session is still open, we close it automatically,
// committing the transactions, and continue creating a new session.
// default is false
ForceRecreateSession *bool
}
Update represents options that can be used to configure a 'UpdateOne' ,'UpdateMany' or 'UpdateOneById' operation.
func MergeUpdateByParams ¶ added in v1.1.2
MergeUpdateByParams assembles the Update object from optional parameters.
func (*Update) SetArrayFilters ¶
func (u *Update) SetArrayFilters(a *ArrayFilters) *Update
SetArrayFilters sets value for the ArrayFilters field.
func (*Update) SetBypassDocumentValidation ¶
SetBypassDocumentValidation sets value for the BypassDocumentValidation field.
func (*Update) SetCollation ¶
SetCollation sets value for the Collation field.
func (*Update) SetComment ¶
SetComment sets value for the Comment field.
func (*Update) SetDisableAutoCloseSession ¶
SetDisableAutoCloseSession creates a new DisableAutoCloseSession instance.
func (*Update) SetDisableAutoRollbackSession ¶ added in v1.2.1
SetDisableAutoRollbackSession creates a new DisableAutoRollbackSession instance.
func (*Update) SetForceRecreateSession ¶
SetForceRecreateSession sets value for the ForceRecreateSession field.
type Watch ¶
type Watch struct {
// DatabaseName database name to watch
DatabaseName string
// CollectionName collection name to watch
CollectionName string
// BatchSize The maximum number of documents to be included in each batch returned by the server.
BatchSize *int32
// Collation Specifies a collation to use for string comparisons during the operation. This option is only valid
// for MongoDB versions >= 3.4. For previous server versions, the driver will return an error if this option is
// used. The default value is nil, which means the default collation of the collection will be used.
Collation *Collation
// Comment A string that will be included in server logs, profiling logs, and currentOp queries to help trace the operation.
// The default is nil, which means that no comment will be included in the logs.
Comment *string
// FullDocument Specifies how the updated document should be returned in Change notifications for update operations.
// The default is FullDocumentDefault, which means that only partial update deltas will be included in the Change
// notification.
FullDocument *FullDocument
// FullDocumentBeforeChange Specifies how the pre-update document should be returned in Change notifications for
// update operations. The default is FullDocumentOff, which means that the pre-update document will not be included
// in the Change notification.
FullDocumentBeforeChange *FullDocument
// MaxAwaitTime The maximum amount of time that the server should wait for new documents to satisfy a tailable cursor query.
MaxAwaitTime *time.Duration
// ResumeAfter A document specifying the logical starting point for the Change stream. Only changes corresponding to an oplog
// entry immediately after the resume token will be returned. If this is specified, StartAtOperationTime and
// StartAfter must not be set.
ResumeAfter any
// ShowExpandedEvents specifies whether the server will return an expanded list of Change stream events. Additional
// events include: createIndexes, dropIndexes, modify, create, shardCollection, reshardCollection and
// refineCollectionShardKey. This option is only valid for MongoDB versions >= 6.0.
ShowExpandedEvents *bool
// StartAtOperationTime If specified, the Change stream will only return changes that occurred at or after the given timestamp. This
// option is only valid for MongoDB versions >= 4.0. If this is specified, ResumeAfter and StartAfter must not be
// set.
StartAtOperationTime *primitive.Timestamp
// StartAfter A document specifying the logical starting point for the Change stream. This is similar to the ResumeAfter
// option, but allows a resume token from an "invalidate" notification to be used. This allows a Change stream on a
// collection to be resumed after the collection has been dropped and recreated or renamed. Only changes
// corresponding to an oplog entry immediately after the specified token will be returned. If this is specified,
// ResumeAfter and StartAtOperationTime must not be set. This option is only valid for MongoDB versions >= 4.1.1.
StartAfter any
// Custom options to be added to the initial aggregate for the Change stream. Key-value pairs of the BSON map should
// correlate with desired option names and values. Values must be Marshalable. Custom options may conflict with
// non-custom options, and custom options bypass client-side validation. Prefer using non-custom options where possible.
Custom bson.M
// CustomPipeline options to be added to the $changeStream stage in the initial aggregate. Key-value pairs of the BSON map should
// correlate with desired option names and values. Values must be Marshalable. Custom pipeline options bypass client-side
// validation. Prefer using non-custom options where possible.
CustomPipeline bson.M
}
Watch represents options that can be used to configure a 'Watch' operation.
func MergeWatchByParams ¶ added in v1.1.2
MergeWatchByParams assembles the Watch object from optional parameters.
func (*Watch) SetBatchSize ¶
SetBatchSize creates a new BatchSize instance.
func (*Watch) SetCollation ¶
SetCollation sets value for the Collation field.
func (*Watch) SetCollectionName ¶
SetCollectionName creates a new CollectionName instance.
func (*Watch) SetComment ¶
SetComment sets value for the Comment field.
func (*Watch) SetCustomPipeline ¶
SetCustomPipeline sets value for the CustomPipeline field.
func (*Watch) SetDatabaseName ¶
SetDatabaseName creates a new DatabaseName instance.
func (*Watch) SetFullDocument ¶
func (w *Watch) SetFullDocument(f FullDocument) *Watch
SetFullDocument sets value for the FullDocument field.
func (*Watch) SetFullDocumentBeforeChange ¶
func (w *Watch) SetFullDocumentBeforeChange(f FullDocument) *Watch
SetFullDocumentBeforeChange sets value for the FullDocumentBeforeChange field.
func (*Watch) SetMaxAwaitTime ¶
SetMaxAwaitTime sets value for the MaxAwaitTime field.
func (*Watch) SetResumeAfter ¶
SetResumeAfter sets value for the ResumeAfter field.
func (*Watch) SetShowExpandedEvents ¶
SetShowExpandedEvents sets value for the ShowExpandedEvents field.
func (*Watch) SetStartAfter ¶
SetStartAfter sets value for the StartAfter field.
type WatchWithHandler ¶ added in v1.0.8
type WatchWithHandler struct {
// DatabaseName database name to watch
DatabaseName string
// CollectionName collection name to watch
CollectionName string
// ContextFuncTimeout Duration time to process the func watch, timeout applied in the past context.
//
// default: 5 seconds
ContextFuncTimeout time.Duration
// DelayLoop Delay to run the next search for messages in the queue
//
// default: 5 seconds
DelayLoop time.Duration
// BatchSize The maximum number of documents to be included in each batch returned by the server.
BatchSize *int32
// Collation Specifies a collation to use for string comparisons during the operation. This option is only valid
// for MongoDB versions >= 3.4. For previous server versions, the driver will return an error if this option is
// used. The default value is nil, which means the default collation of the collection will be used.
Collation *Collation
// Comment A string that will be included in server logs, profiling logs, and currentOp queries to help trace the operation.
// The default is nil, which means that no comment will be included in the logs.
Comment *string
// FullDocument Specifies how the updated document should be returned in Change notifications for update operations.
// The default is FullDocumentDefault, which means that only partial update deltas will be included in the Change
// notification.
FullDocument *FullDocument
// FullDocumentBeforeChange Specifies how the pre-update document should be returned in Change notifications for
// update operations. The default is FullDocumentOff, which means that the pre-update document will not be included
// in the Change notification.
FullDocumentBeforeChange *FullDocument
// MaxAwaitTime The maximum amount of time that the server should wait for new documents to satisfy a tailable cursor query.
MaxAwaitTime *time.Duration
// ResumeAfter A document specifying the logical starting point for the Change stream. Only changes corresponding to an oplog
// entry immediately after the resume token will be returned. If this is specified, StartAtOperationTime and
// StartAfter must not be set.
ResumeAfter any
// ShowExpandedEvents specifies whether the server will return an expanded list of Change stream events. Additional
// events include: createIndexes, dropIndexes, modify, create, shardCollection, reshardCollection and
// refineCollectionShardKey. This option is only valid for MongoDB versions >= 6.0.
ShowExpandedEvents *bool
// StartAtOperationTime If specified, the Change stream will only return changes that occurred at or after the given timestamp. This
// option is only valid for MongoDB versions >= 4.0. If this is specified, ResumeAfter and StartAfter must not be
// set.
StartAtOperationTime *primitive.Timestamp
// StartAfter A document specifying the logical starting point for the Change stream. This is similar to the ResumeAfter
// option, but allows a resume token from an "invalidate" notification to be used. This allows a Change stream on a
// collection to be resumed after the collection has been dropped and recreated or renamed. Only changes
// corresponding to an oplog entry immediately after the specified token will be returned. If this is specified,
// ResumeAfter and StartAtOperationTime must not be set. This option is only valid for MongoDB versions >= 4.1.1.
StartAfter any
// Custom options to be added to the initial aggregate for the Change stream. Key-value pairs of the BSON map should
// correlate with desired option names and values. Values must be Marshalable. Custom options may conflict with
// non-custom options, and custom options bypass client-side validation. Prefer using non-custom options where possible.
Custom bson.M
// CustomPipeline options to be added to the $changeStream stage in the initial aggregate. Key-value pairs of the BSON map should
// correlate with desired option names and values. Values must be Marshalable. Custom pipeline options bypass client-side
// validation. Prefer using non-custom options where possible.
CustomPipeline bson.M
}
WatchWithHandler represents options that can be used to configure a 'WatchWithHandler' operation.
func MergeWatchHandlerByParams ¶ added in v1.1.2
func MergeWatchHandlerByParams(opts []*WatchWithHandler) *WatchWithHandler
MergeWatchHandlerByParams assembles the WatchWithHandler object from optional parameters.
func NewWatchWithHandler ¶ added in v1.0.8
func NewWatchWithHandler() *WatchWithHandler
NewWatchWithHandler creates a new WatchWithHandler instance.
func (*WatchWithHandler) SetBatchSize ¶ added in v1.0.8
func (w *WatchWithHandler) SetBatchSize(i int32) *WatchWithHandler
SetBatchSize creates a new BatchSize instance.
func (*WatchWithHandler) SetCollation ¶ added in v1.0.8
func (w *WatchWithHandler) SetCollation(c *Collation) *WatchWithHandler
SetCollation sets value for the Collation field.
func (*WatchWithHandler) SetCollectionName ¶ added in v1.0.8
func (w *WatchWithHandler) SetCollectionName(s string) *WatchWithHandler
SetCollectionName sets value for the WatchWithHandler field.
func (*WatchWithHandler) SetComment ¶ added in v1.0.8
func (w *WatchWithHandler) SetComment(s string) *WatchWithHandler
SetComment sets value for the Comment field.
func (*WatchWithHandler) SetContextFuncTimeout ¶ added in v1.0.8
func (w *WatchWithHandler) SetContextFuncTimeout(d time.Duration) *WatchWithHandler
func (*WatchWithHandler) SetCustom ¶ added in v1.0.8
func (w *WatchWithHandler) SetCustom(b bson.M) *WatchWithHandler
SetCustom sets value for the Custom field.
func (*WatchWithHandler) SetCustomPipeline ¶ added in v1.0.8
func (w *WatchWithHandler) SetCustomPipeline(b bson.M) *WatchWithHandler
SetCustomPipeline sets value for the CustomPipeline field.
func (*WatchWithHandler) SetDatabaseName ¶ added in v1.0.8
func (w *WatchWithHandler) SetDatabaseName(s string) *WatchWithHandler
SetDatabaseName sets value for the DatabaseName field.
func (*WatchWithHandler) SetDelayLoop ¶ added in v1.0.8
func (w *WatchWithHandler) SetDelayLoop(d time.Duration) *WatchWithHandler
func (*WatchWithHandler) SetFullDocument ¶ added in v1.0.8
func (w *WatchWithHandler) SetFullDocument(f FullDocument) *WatchWithHandler
SetFullDocument sets value for the FullDocument field.
func (*WatchWithHandler) SetFullDocumentBeforeChange ¶ added in v1.0.8
func (w *WatchWithHandler) SetFullDocumentBeforeChange(f FullDocument) *WatchWithHandler
SetFullDocumentBeforeChange sets value for the FullDocumentBeforeChange field.
func (*WatchWithHandler) SetMaxAwaitTime ¶ added in v1.0.8
func (w *WatchWithHandler) SetMaxAwaitTime(d time.Duration) *WatchWithHandler
SetMaxAwaitTime sets value for the MaxAwaitTime field.
func (*WatchWithHandler) SetResumeAfter ¶ added in v1.0.8
func (w *WatchWithHandler) SetResumeAfter(a any) *WatchWithHandler
SetResumeAfter sets value for the ResumeAfter field.
func (*WatchWithHandler) SetShowExpandedEvents ¶ added in v1.0.8
func (w *WatchWithHandler) SetShowExpandedEvents(b bool) *WatchWithHandler
SetShowExpandedEvents sets value for the ShowExpandedEvents field.
func (*WatchWithHandler) SetStartAfter ¶ added in v1.0.8
func (w *WatchWithHandler) SetStartAfter(a any) *WatchWithHandler
SetStartAfter sets value for the StartAfter field.
func (*WatchWithHandler) SetStartAtOperationTime ¶ added in v1.0.8
func (w *WatchWithHandler) SetStartAtOperationTime(t primitive.Timestamp) *WatchWithHandler
SetStartAtOperationTime sets value for the StartAtOperationTime field.