operation

package
v1.17.1 Latest Latest
Warning

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

Go to latest
Published: Oct 1, 2024 License: Apache-2.0 Imports: 24 Imported by: 126

Documentation

Overview

Package operation is intended for internal use only. It is made available to facilitate use cases that require access to internal MongoDB driver functionality and state. The API of this package is not stable and there is no backward compatibility guarantee.

WARNING: THIS PACKAGE IS EXPERIMENTAL AND MAY BE MODIFIED OR REMOVED WITHOUT NOTICE! USE WITH EXTREME CAUTION!

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AbortTransaction

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

AbortTransaction performs an abortTransaction operation.

func NewAbortTransaction

func NewAbortTransaction() *AbortTransaction

NewAbortTransaction constructs and returns a new AbortTransaction.

func (*AbortTransaction) Authenticator added in v1.17.0

func (at *AbortTransaction) Authenticator(authenticator driver.Authenticator) *AbortTransaction

Authenticator sets the authenticator to use for this operation.

func (*AbortTransaction) ClusterClock

func (at *AbortTransaction) ClusterClock(clock *session.ClusterClock) *AbortTransaction

ClusterClock sets the cluster clock for this operation.

func (*AbortTransaction) Collection

func (at *AbortTransaction) Collection(collection string) *AbortTransaction

Collection sets the collection that this command will run against.

func (*AbortTransaction) CommandMonitor

func (at *AbortTransaction) CommandMonitor(monitor *event.CommandMonitor) *AbortTransaction

CommandMonitor sets the monitor to use for APM events.

func (*AbortTransaction) Crypt added in v1.2.0

func (at *AbortTransaction) Crypt(crypt driver.Crypt) *AbortTransaction

Crypt sets the Crypt object to use for automatic encryption and decryption.

func (*AbortTransaction) Database

func (at *AbortTransaction) Database(database string) *AbortTransaction

Database sets the database to run this operation against.

func (*AbortTransaction) Deployment

func (at *AbortTransaction) Deployment(deployment driver.Deployment) *AbortTransaction

Deployment sets the deployment to use for this operation.

func (*AbortTransaction) Execute

func (at *AbortTransaction) Execute(ctx context.Context) error

Execute runs this operations and returns an error if the operation did not execute successfully.

func (*AbortTransaction) RecoveryToken

func (at *AbortTransaction) RecoveryToken(recoveryToken bsoncore.Document) *AbortTransaction

RecoveryToken sets the recovery token to use when committing or aborting a sharded transaction.

func (*AbortTransaction) Retry

Retry enables retryable mode for this operation. Retries are handled automatically in driver.Operation.Execute based on how the operation is set.

func (*AbortTransaction) ServerAPI added in v1.6.0

func (at *AbortTransaction) ServerAPI(serverAPI *driver.ServerAPIOptions) *AbortTransaction

ServerAPI sets the server API version for this operation.

func (*AbortTransaction) ServerSelector

func (at *AbortTransaction) ServerSelector(selector description.ServerSelector) *AbortTransaction

ServerSelector sets the selector used to retrieve a server.

func (*AbortTransaction) Session

func (at *AbortTransaction) Session(session *session.Client) *AbortTransaction

Session sets the session for this operation.

func (*AbortTransaction) WriteConcern

func (at *AbortTransaction) WriteConcern(writeConcern *writeconcern.WriteConcern) *AbortTransaction

WriteConcern sets the write concern for this operation.

type Aggregate

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

Aggregate represents an aggregate operation.

func NewAggregate

func NewAggregate(pipeline bsoncore.Document) *Aggregate

NewAggregate constructs and returns a new Aggregate.

func (*Aggregate) AllowDiskUse

func (a *Aggregate) AllowDiskUse(allowDiskUse bool) *Aggregate

AllowDiskUse enables writing to temporary files. When true, aggregation stages can write to the dbPath/_tmp directory.

func (*Aggregate) Authenticator added in v1.17.0

func (a *Aggregate) Authenticator(authenticator driver.Authenticator) *Aggregate

Authenticator sets the authenticator to use for this operation.

func (*Aggregate) BatchSize

func (a *Aggregate) BatchSize(batchSize int32) *Aggregate

BatchSize specifies the number of documents to return in every batch.

func (*Aggregate) BypassDocumentValidation

func (a *Aggregate) BypassDocumentValidation(bypassDocumentValidation bool) *Aggregate

BypassDocumentValidation allows the write to opt-out of document level validation. This only applies when the $out stage is specified.

func (*Aggregate) ClusterClock

func (a *Aggregate) ClusterClock(clock *session.ClusterClock) *Aggregate

ClusterClock sets the cluster clock for this operation.

func (*Aggregate) Collation

func (a *Aggregate) Collation(collation bsoncore.Document) *Aggregate

Collation specifies a collation. This option is only valid for server versions 3.4 and above.

func (*Aggregate) Collection

func (a *Aggregate) Collection(collection string) *Aggregate

Collection sets the collection that this command will run against.

func (*Aggregate) CommandMonitor

func (a *Aggregate) CommandMonitor(monitor *event.CommandMonitor) *Aggregate

CommandMonitor sets the monitor to use for APM events.

func (*Aggregate) Comment

func (a *Aggregate) Comment(comment string) *Aggregate

Comment specifies an arbitrary string to help trace the operation through the database profiler, currentOp, and logs.

func (*Aggregate) Crypt added in v1.2.0

func (a *Aggregate) Crypt(crypt driver.Crypt) *Aggregate

Crypt sets the Crypt object to use for automatic encryption and decryption.

func (*Aggregate) CustomOptions added in v1.9.0

func (a *Aggregate) CustomOptions(co map[string]bsoncore.Value) *Aggregate

CustomOptions specifies extra options to use in the aggregate command.

func (*Aggregate) Database

func (a *Aggregate) Database(database string) *Aggregate

Database sets the database to run this operation against.

func (*Aggregate) Deployment

func (a *Aggregate) Deployment(deployment driver.Deployment) *Aggregate

Deployment sets the deployment to use for this operation.

func (*Aggregate) Execute

func (a *Aggregate) Execute(ctx context.Context) error

Execute runs this operations and returns an error if the operation did not execute successfully.

func (*Aggregate) HasOutputStage added in v1.8.0

func (a *Aggregate) HasOutputStage(hos bool) *Aggregate

HasOutputStage specifies whether the aggregate contains an output stage. Used in determining when to append read preference at the operation level.

func (*Aggregate) Hint

func (a *Aggregate) Hint(hint bsoncore.Value) *Aggregate

Hint specifies the index to use.

func (*Aggregate) Let added in v1.6.0

func (a *Aggregate) Let(let bsoncore.Document) *Aggregate

Let specifies the let document to use. This option is only valid for server versions 5.0 and above.

func (*Aggregate) MaxTime added in v1.11.0

func (a *Aggregate) MaxTime(maxTime *time.Duration) *Aggregate

MaxTime specifies the maximum amount of time to allow the query to run on the server.

func (*Aggregate) OmitCSOTMaxTimeMS added in v1.15.0

func (a *Aggregate) OmitCSOTMaxTimeMS(omit bool) *Aggregate

OmitCSOTMaxTimeMS omits the automatically-calculated "maxTimeMS" from the command when CSOT is enabled. It does not effect "maxTimeMS" set by Aggregate.MaxTime.

func (*Aggregate) Pipeline

func (a *Aggregate) Pipeline(pipeline bsoncore.Document) *Aggregate

Pipeline determines how data is transformed for an aggregation.

func (*Aggregate) ReadConcern

func (a *Aggregate) ReadConcern(readConcern *readconcern.ReadConcern) *Aggregate

ReadConcern specifies the read concern for this operation.

func (*Aggregate) ReadPreference

func (a *Aggregate) ReadPreference(readPreference *readpref.ReadPref) *Aggregate

ReadPreference set the read preference used with this operation.

func (*Aggregate) Result

func (a *Aggregate) Result(opts driver.CursorOptions) (*driver.BatchCursor, error)

Result returns the result of executing this operation.

func (*Aggregate) ResultCursorResponse

func (a *Aggregate) ResultCursorResponse() driver.CursorResponse

ResultCursorResponse returns the underlying CursorResponse result of executing this operation.

func (*Aggregate) Retry

func (a *Aggregate) Retry(retry driver.RetryMode) *Aggregate

Retry enables retryable writes for this operation. Retries are not handled automatically, instead a boolean is returned from Execute and SelectAndExecute that indicates if the operation can be retried. Retrying is handled by calling RetryExecute.

func (*Aggregate) ServerAPI added in v1.6.0

func (a *Aggregate) ServerAPI(serverAPI *driver.ServerAPIOptions) *Aggregate

ServerAPI sets the server API version for this operation.

func (*Aggregate) ServerSelector

func (a *Aggregate) ServerSelector(selector description.ServerSelector) *Aggregate

ServerSelector sets the selector used to retrieve a server.

func (*Aggregate) Session

func (a *Aggregate) Session(session *session.Client) *Aggregate

Session sets the session for this operation.

func (*Aggregate) Timeout added in v1.10.0

func (a *Aggregate) Timeout(timeout *time.Duration) *Aggregate

Timeout sets the timeout for this operation.

func (*Aggregate) WriteConcern

func (a *Aggregate) WriteConcern(writeConcern *writeconcern.WriteConcern) *Aggregate

WriteConcern sets the write concern for this operation.

type Command

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

Command is used to run a generic operation.

func NewCommand

func NewCommand(command bsoncore.Document) *Command

NewCommand constructs and returns a new Command. Once the operation is executed, the result may only be accessed via the Result() function.

func NewCursorCommand added in v1.6.0

func NewCursorCommand(command bsoncore.Document, cursorOpts driver.CursorOptions) *Command

NewCursorCommand constructs a new Command. Once the operation is executed, the server response will be used to construct a cursor, which can be accessed via the ResultCursor() function.

func (*Command) Authenticator added in v1.17.0

func (c *Command) Authenticator(authenticator driver.Authenticator) *Command

Authenticator sets the authenticator to use for this operation.

func (*Command) ClusterClock

func (c *Command) ClusterClock(clock *session.ClusterClock) *Command

ClusterClock sets the cluster clock for this operation.

func (*Command) CommandMonitor

func (c *Command) CommandMonitor(monitor *event.CommandMonitor) *Command

CommandMonitor sets the monitor to use for APM events.

func (*Command) Crypt added in v1.2.0

func (c *Command) Crypt(crypt driver.Crypt) *Command

Crypt sets the Crypt object to use for automatic encryption and decryption.

func (*Command) Database

func (c *Command) Database(database string) *Command

Database sets the database to run this operation against.

func (*Command) Deployment

func (c *Command) Deployment(deployment driver.Deployment) *Command

Deployment sets the deployment to use for this operation.

func (*Command) Execute

func (c *Command) Execute(ctx context.Context) error

Execute runs this operations and returns an error if the operation did not execute successfully.

func (*Command) Logger added in v1.12.0

func (c *Command) Logger(logger *logger.Logger) *Command

Logger sets the logger for this operation.

func (*Command) ReadPreference

func (c *Command) ReadPreference(readPreference *readpref.ReadPref) *Command

ReadPreference set the read preference used with this operation.

func (*Command) Result

func (c *Command) Result() bsoncore.Document

Result returns the result of executing this operation.

func (*Command) ResultCursor

func (c *Command) ResultCursor() (*driver.BatchCursor, error)

ResultCursor returns the BatchCursor that was constructed using the command response. If the operation was not configured to create a cursor (i.e. it was created using NewCommand rather than NewCursorCommand), this function will return nil and an error.

func (*Command) ServerAPI added in v1.6.0

func (c *Command) ServerAPI(serverAPI *driver.ServerAPIOptions) *Command

ServerAPI sets the server API version for this operation.

func (*Command) ServerSelector

func (c *Command) ServerSelector(selector description.ServerSelector) *Command

ServerSelector sets the selector used to retrieve a server.

func (*Command) Session

func (c *Command) Session(session *session.Client) *Command

Session sets the session for this operation.

func (*Command) Timeout added in v1.10.0

func (c *Command) Timeout(timeout *time.Duration) *Command

Timeout sets the timeout for this operation.

type CommitTransaction

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

CommitTransaction attempts to commit a transaction.

func NewCommitTransaction

func NewCommitTransaction() *CommitTransaction

NewCommitTransaction constructs and returns a new CommitTransaction.

func (*CommitTransaction) Authenticator added in v1.17.0

func (ct *CommitTransaction) Authenticator(authenticator driver.Authenticator) *CommitTransaction

Authenticator sets the authenticator to use for this operation.

func (*CommitTransaction) ClusterClock

func (ct *CommitTransaction) ClusterClock(clock *session.ClusterClock) *CommitTransaction

ClusterClock sets the cluster clock for this operation.

func (*CommitTransaction) CommandMonitor

func (ct *CommitTransaction) CommandMonitor(monitor *event.CommandMonitor) *CommitTransaction

CommandMonitor sets the monitor to use for APM events.

func (*CommitTransaction) Crypt added in v1.2.0

func (ct *CommitTransaction) Crypt(crypt driver.Crypt) *CommitTransaction

Crypt sets the Crypt object to use for automatic encryption and decryption.

func (*CommitTransaction) Database

func (ct *CommitTransaction) Database(database string) *CommitTransaction

Database sets the database to run this operation against.

func (*CommitTransaction) Deployment

func (ct *CommitTransaction) Deployment(deployment driver.Deployment) *CommitTransaction

Deployment sets the deployment to use for this operation.

func (*CommitTransaction) Execute

func (ct *CommitTransaction) Execute(ctx context.Context) error

Execute runs this operations and returns an error if the operation did not execute successfully.

func (*CommitTransaction) MaxTime added in v1.11.0

func (ct *CommitTransaction) MaxTime(maxTime *time.Duration) *CommitTransaction

MaxTime specifies the maximum amount of time to allow the query to run on the server.

func (*CommitTransaction) RecoveryToken

func (ct *CommitTransaction) RecoveryToken(recoveryToken bsoncore.Document) *CommitTransaction

RecoveryToken sets the recovery token to use when committing or aborting a sharded transaction.

func (*CommitTransaction) Retry

Retry enables retryable mode for this operation. Retries are handled automatically in driver.Operation.Execute based on how the operation is set.

func (*CommitTransaction) ServerAPI added in v1.6.0

func (ct *CommitTransaction) ServerAPI(serverAPI *driver.ServerAPIOptions) *CommitTransaction

ServerAPI sets the server API version for this operation.

func (*CommitTransaction) ServerSelector

func (ct *CommitTransaction) ServerSelector(selector description.ServerSelector) *CommitTransaction

ServerSelector sets the selector used to retrieve a server.

func (*CommitTransaction) Session

func (ct *CommitTransaction) Session(session *session.Client) *CommitTransaction

Session sets the session for this operation.

func (*CommitTransaction) WriteConcern

func (ct *CommitTransaction) WriteConcern(writeConcern *writeconcern.WriteConcern) *CommitTransaction

WriteConcern sets the write concern for this operation.

type Count

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

Count represents a count operation.

func NewCount

func NewCount() *Count

NewCount constructs and returns a new Count.

func (*Count) Authenticator added in v1.17.0

func (c *Count) Authenticator(authenticator driver.Authenticator) *Count

Authenticator sets the authenticator to use for this operation.

func (*Count) ClusterClock

func (c *Count) ClusterClock(clock *session.ClusterClock) *Count

ClusterClock sets the cluster clock for this operation.

func (*Count) Collection

func (c *Count) Collection(collection string) *Count

Collection sets the collection that this command will run against.

func (*Count) CommandMonitor

func (c *Count) CommandMonitor(monitor *event.CommandMonitor) *Count

CommandMonitor sets the monitor to use for APM events.

func (*Count) Comment added in v1.10.0

func (c *Count) Comment(comment bsoncore.Value) *Count

Comment sets a value to help trace an operation.

func (*Count) Crypt added in v1.2.0

func (c *Count) Crypt(crypt driver.Crypt) *Count

Crypt sets the Crypt object to use for automatic encryption and decryption.

func (*Count) Database

func (c *Count) Database(database string) *Count

Database sets the database to run this operation against.

func (*Count) Deployment

func (c *Count) Deployment(deployment driver.Deployment) *Count

Deployment sets the deployment to use for this operation.

func (*Count) Execute

func (c *Count) Execute(ctx context.Context) error

Execute runs this operations and returns an error if the operation did not execute successfully.

func (*Count) MaxTime added in v1.11.0

func (c *Count) MaxTime(maxTime *time.Duration) *Count

MaxTime specifies the maximum amount of time to allow the query to run on the server.

func (*Count) Query

func (c *Count) Query(query bsoncore.Document) *Count

Query determines what results are returned from find.

func (*Count) ReadConcern

func (c *Count) ReadConcern(readConcern *readconcern.ReadConcern) *Count

ReadConcern specifies the read concern for this operation.

func (*Count) ReadPreference

func (c *Count) ReadPreference(readPreference *readpref.ReadPref) *Count

ReadPreference set the read preference used with this operation.

func (*Count) Result

func (c *Count) Result() CountResult

Result returns the result of executing this operation.

func (*Count) Retry

func (c *Count) Retry(retry driver.RetryMode) *Count

Retry enables retryable mode for this operation. Retries are handled automatically in driver.Operation.Execute based on how the operation is set.

func (*Count) ServerAPI added in v1.6.0

func (c *Count) ServerAPI(serverAPI *driver.ServerAPIOptions) *Count

ServerAPI sets the server API version for this operation.

func (*Count) ServerSelector

func (c *Count) ServerSelector(selector description.ServerSelector) *Count

ServerSelector sets the selector used to retrieve a server.

func (*Count) Session

func (c *Count) Session(session *session.Client) *Count

Session sets the session for this operation.

func (*Count) Timeout added in v1.10.0

func (c *Count) Timeout(timeout *time.Duration) *Count

Timeout sets the timeout for this operation.

type CountResult

type CountResult struct {
	// The number of documents found
	N int64
}

CountResult represents a count result returned by the server.

type Create added in v1.4.0

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

Create represents a create operation.

func NewCreate added in v1.4.0

func NewCreate(collectionName string) *Create

NewCreate constructs and returns a new Create.

func (*Create) Authenticator added in v1.17.0

func (c *Create) Authenticator(authenticator driver.Authenticator) *Create

Authenticator sets the authenticator to use for this operation.

func (*Create) Capped added in v1.4.0

func (c *Create) Capped(capped bool) *Create

Capped specifies if the collection is capped.

func (*Create) ChangeStreamPreAndPostImages added in v1.10.0

func (c *Create) ChangeStreamPreAndPostImages(csppi bsoncore.Document) *Create

ChangeStreamPreAndPostImages specifies how change streams opened against the collection can return pre- and post-images of updated documents. This option is only valid for server versions 6.0 and above.

func (*Create) ClusterClock added in v1.4.0

func (c *Create) ClusterClock(clock *session.ClusterClock) *Create

ClusterClock sets the cluster clock for this operation.

func (*Create) ClusteredIndex added in v1.10.0

func (c *Create) ClusteredIndex(ci bsoncore.Document) *Create

ClusteredIndex sets the ClusteredIndex option for this operation.

func (*Create) Collation added in v1.4.0

func (c *Create) Collation(collation bsoncore.Document) *Create

Collation specifies a collation. This option is only valid for server versions 3.4 and above.

func (*Create) CollectionName added in v1.4.0

func (c *Create) CollectionName(collectionName string) *Create

CollectionName specifies the name of the collection to create.

func (*Create) CommandMonitor added in v1.4.0

func (c *Create) CommandMonitor(monitor *event.CommandMonitor) *Create

CommandMonitor sets the monitor to use for APM events.

func (*Create) Crypt added in v1.4.0

func (c *Create) Crypt(crypt driver.Crypt) *Create

Crypt sets the Crypt object to use for automatic encryption and decryption.

func (*Create) Database added in v1.4.0

func (c *Create) Database(database string) *Create

Database sets the database to run this operation against.

func (*Create) Deployment added in v1.4.0

func (c *Create) Deployment(deployment driver.Deployment) *Create

Deployment sets the deployment to use for this operation.

func (*Create) EncryptedFields added in v1.10.0

func (c *Create) EncryptedFields(ef bsoncore.Document) *Create

EncryptedFields sets the EncryptedFields for this operation.

func (*Create) Execute added in v1.4.0

func (c *Create) Execute(ctx context.Context) error

Execute runs this operations and returns an error if the operation did not execute successfully.

func (*Create) ExpireAfterSeconds added in v1.6.0

func (c *Create) ExpireAfterSeconds(eas int64) *Create

ExpireAfterSeconds sets the seconds to wait before deleting old time-series data.

func (*Create) IndexOptionDefaults added in v1.4.0

func (c *Create) IndexOptionDefaults(indexOptionDefaults bsoncore.Document) *Create

IndexOptionDefaults specifies a default configuration for indexes on the collection.

func (*Create) Max added in v1.4.0

func (c *Create) Max(max int64) *Create

Max specifies the maximum number of documents allowed in a capped collection.

func (*Create) Pipeline added in v1.4.0

func (c *Create) Pipeline(pipeline bsoncore.Document) *Create

Pipeline specifies the agggregtion pipeline to be run against the source to create the view.

func (*Create) ServerAPI added in v1.6.0

func (c *Create) ServerAPI(serverAPI *driver.ServerAPIOptions) *Create

ServerAPI sets the server API version for this operation.

func (*Create) ServerSelector added in v1.4.0

func (c *Create) ServerSelector(selector description.ServerSelector) *Create

ServerSelector sets the selector used to retrieve a server.

func (*Create) Session added in v1.4.0

func (c *Create) Session(session *session.Client) *Create

Session sets the session for this operation.

func (*Create) Size added in v1.4.0

func (c *Create) Size(size int64) *Create

Size specifies the maximum size in bytes for a capped collection.

func (*Create) StorageEngine added in v1.4.0

func (c *Create) StorageEngine(storageEngine bsoncore.Document) *Create

StorageEngine specifies the storage engine to use for the index.

func (*Create) TimeSeries added in v1.6.0

func (c *Create) TimeSeries(timeSeries bsoncore.Document) *Create

TimeSeries sets the time series options for this operation.

func (*Create) ValidationAction added in v1.4.0

func (c *Create) ValidationAction(validationAction string) *Create

ValidationAction specifies what should happen if a document being inserted does not pass validation.

func (*Create) ValidationLevel added in v1.4.0

func (c *Create) ValidationLevel(validationLevel string) *Create

ValidationLevel specifies how strictly the server applies validation rules to existing documents in the collection during update operations.

func (*Create) Validator added in v1.4.0

func (c *Create) Validator(validator bsoncore.Document) *Create

Validator specifies validation rules for the collection.

func (*Create) ViewOn added in v1.4.0

func (c *Create) ViewOn(viewOn string) *Create

ViewOn specifies the name of the source collection or view on which the view will be created.

func (*Create) WriteConcern added in v1.4.0

func (c *Create) WriteConcern(writeConcern *writeconcern.WriteConcern) *Create

WriteConcern sets the write concern for this operation.

type CreateIndexes

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

CreateIndexes performs a createIndexes operation.

func NewCreateIndexes

func NewCreateIndexes(indexes bsoncore.Document) *CreateIndexes

NewCreateIndexes constructs and returns a new CreateIndexes.

func (*CreateIndexes) Authenticator added in v1.17.0

func (ci *CreateIndexes) Authenticator(authenticator driver.Authenticator) *CreateIndexes

Authenticator sets the authenticator to use for this operation.

func (*CreateIndexes) ClusterClock

func (ci *CreateIndexes) ClusterClock(clock *session.ClusterClock) *CreateIndexes

ClusterClock sets the cluster clock for this operation.

func (*CreateIndexes) Collection

func (ci *CreateIndexes) Collection(collection string) *CreateIndexes

Collection sets the collection that this command will run against.

func (*CreateIndexes) CommandMonitor

func (ci *CreateIndexes) CommandMonitor(monitor *event.CommandMonitor) *CreateIndexes

CommandMonitor sets the monitor to use for APM events.

func (*CreateIndexes) CommitQuorum added in v1.4.0

func (ci *CreateIndexes) CommitQuorum(commitQuorum bsoncore.Value) *CreateIndexes

CommitQuorum specifies the number of data-bearing members of a replica set, including the primary, that must complete the index builds successfully before the primary marks the indexes as ready. This should either be a string or int32 value.

func (*CreateIndexes) Crypt added in v1.2.0

func (ci *CreateIndexes) Crypt(crypt driver.Crypt) *CreateIndexes

Crypt sets the Crypt object to use for automatic encryption and decryption.

func (*CreateIndexes) Database

func (ci *CreateIndexes) Database(database string) *CreateIndexes

Database sets the database to run this operation against.

func (*CreateIndexes) Deployment

func (ci *CreateIndexes) Deployment(deployment driver.Deployment) *CreateIndexes

Deployment sets the deployment to use for this operation.

func (*CreateIndexes) Execute

func (ci *CreateIndexes) Execute(ctx context.Context) error

Execute runs this operations and returns an error if the operation did not execute successfully.

func (*CreateIndexes) Indexes

func (ci *CreateIndexes) Indexes(indexes bsoncore.Document) *CreateIndexes

Indexes specifies an array containing index specification documents for the indexes being created.

func (*CreateIndexes) MaxTime added in v1.11.0

func (ci *CreateIndexes) MaxTime(maxTime *time.Duration) *CreateIndexes

MaxTime specifies the maximum amount of time to allow the query to run on the server.

func (*CreateIndexes) Result

func (ci *CreateIndexes) Result() CreateIndexesResult

Result returns the result of executing this operation.

func (*CreateIndexes) ServerAPI added in v1.6.0

func (ci *CreateIndexes) ServerAPI(serverAPI *driver.ServerAPIOptions) *CreateIndexes

ServerAPI sets the server API version for this operation.

func (*CreateIndexes) ServerSelector

func (ci *CreateIndexes) ServerSelector(selector description.ServerSelector) *CreateIndexes

ServerSelector sets the selector used to retrieve a server.

func (*CreateIndexes) Session

func (ci *CreateIndexes) Session(session *session.Client) *CreateIndexes

Session sets the session for this operation.

func (*CreateIndexes) Timeout added in v1.10.0

func (ci *CreateIndexes) Timeout(timeout *time.Duration) *CreateIndexes

Timeout sets the timeout for this operation.

func (*CreateIndexes) WriteConcern added in v1.2.1

func (ci *CreateIndexes) WriteConcern(writeConcern *writeconcern.WriteConcern) *CreateIndexes

WriteConcern sets the write concern for this operation.

type CreateIndexesResult

type CreateIndexesResult struct {
	// If the collection was created automatically.
	CreatedCollectionAutomatically bool
	// The number of indexes existing after this command.
	IndexesAfter int32
	// The number of indexes existing before this command.
	IndexesBefore int32
}

CreateIndexesResult represents a createIndexes result returned by the server.

type CreateSearchIndexResult added in v1.13.0

type CreateSearchIndexResult struct {
	Name string
}

CreateSearchIndexResult represents a single search index result in CreateSearchIndexesResult.

type CreateSearchIndexes added in v1.13.0

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

CreateSearchIndexes performs a createSearchIndexes operation.

func NewCreateSearchIndexes added in v1.13.0

func NewCreateSearchIndexes(indexes bsoncore.Document) *CreateSearchIndexes

NewCreateSearchIndexes constructs and returns a new CreateSearchIndexes.

func (*CreateSearchIndexes) Authenticator added in v1.17.0

func (csi *CreateSearchIndexes) Authenticator(authenticator driver.Authenticator) *CreateSearchIndexes

Authenticator sets the authenticator to use for this operation.

func (*CreateSearchIndexes) ClusterClock added in v1.13.0

func (csi *CreateSearchIndexes) ClusterClock(clock *session.ClusterClock) *CreateSearchIndexes

ClusterClock sets the cluster clock for this operation.

func (*CreateSearchIndexes) Collection added in v1.13.0

func (csi *CreateSearchIndexes) Collection(collection string) *CreateSearchIndexes

Collection sets the collection that this command will run against.

func (*CreateSearchIndexes) CommandMonitor added in v1.13.0

func (csi *CreateSearchIndexes) CommandMonitor(monitor *event.CommandMonitor) *CreateSearchIndexes

CommandMonitor sets the monitor to use for APM events.

func (*CreateSearchIndexes) Crypt added in v1.13.0

Crypt sets the Crypt object to use for automatic encryption and decryption.

func (*CreateSearchIndexes) Database added in v1.13.0

func (csi *CreateSearchIndexes) Database(database string) *CreateSearchIndexes

Database sets the database to run this operation against.

func (*CreateSearchIndexes) Deployment added in v1.13.0

func (csi *CreateSearchIndexes) Deployment(deployment driver.Deployment) *CreateSearchIndexes

Deployment sets the deployment to use for this operation.

func (*CreateSearchIndexes) Execute added in v1.13.0

func (csi *CreateSearchIndexes) Execute(ctx context.Context) error

Execute runs this operations and returns an error if the operation did not execute successfully.

func (*CreateSearchIndexes) Indexes added in v1.13.0

Indexes specifies an array containing index specification documents for the indexes being created.

func (*CreateSearchIndexes) Result added in v1.13.0

Result returns the result of executing this operation.

func (*CreateSearchIndexes) ServerAPI added in v1.13.0

func (csi *CreateSearchIndexes) ServerAPI(serverAPI *driver.ServerAPIOptions) *CreateSearchIndexes

ServerAPI sets the server API version for this operation.

func (*CreateSearchIndexes) ServerSelector added in v1.13.0

func (csi *CreateSearchIndexes) ServerSelector(selector description.ServerSelector) *CreateSearchIndexes

ServerSelector sets the selector used to retrieve a server.

func (*CreateSearchIndexes) Session added in v1.13.0

func (csi *CreateSearchIndexes) Session(session *session.Client) *CreateSearchIndexes

Session sets the session for this operation.

func (*CreateSearchIndexes) Timeout added in v1.13.0

func (csi *CreateSearchIndexes) Timeout(timeout *time.Duration) *CreateSearchIndexes

Timeout sets the timeout for this operation.

type CreateSearchIndexesResult added in v1.13.0

type CreateSearchIndexesResult struct {
	IndexesCreated []CreateSearchIndexResult
}

CreateSearchIndexesResult represents a createSearchIndexes result returned by the server.

type Delete

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

Delete performs a delete operation

func NewDelete

func NewDelete(deletes ...bsoncore.Document) *Delete

NewDelete constructs and returns a new Delete.

func (*Delete) Authenticator added in v1.17.0

func (d *Delete) Authenticator(authenticator driver.Authenticator) *Delete

Authenticator sets the authenticator to use for this operation.

func (*Delete) ClusterClock

func (d *Delete) ClusterClock(clock *session.ClusterClock) *Delete

ClusterClock sets the cluster clock for this operation.

func (*Delete) Collection

func (d *Delete) Collection(collection string) *Delete

Collection sets the collection that this command will run against.

func (*Delete) CommandMonitor

func (d *Delete) CommandMonitor(monitor *event.CommandMonitor) *Delete

CommandMonitor sets the monitor to use for APM events.

func (*Delete) Comment added in v1.10.0

func (d *Delete) Comment(comment bsoncore.Value) *Delete

Comment sets a value to help trace an operation.

func (*Delete) Crypt added in v1.2.0

func (d *Delete) Crypt(crypt driver.Crypt) *Delete

Crypt sets the Crypt object to use for automatic encryption and decryption.

func (*Delete) Database

func (d *Delete) Database(database string) *Delete

Database sets the database to run this operation against.

func (*Delete) Deletes

func (d *Delete) Deletes(deletes ...bsoncore.Document) *Delete

Deletes adds documents to this operation that will be used to determine what documents to delete when this operation is executed. These documents should have the form {q: <query>, limit: <integer limit>, collation: <document>}. The collation field is optional. If limit is 0, there will be no limit on the number of documents deleted.

func (*Delete) Deployment

func (d *Delete) Deployment(deployment driver.Deployment) *Delete

Deployment sets the deployment to use for this operation.

func (*Delete) Execute

func (d *Delete) Execute(ctx context.Context) error

Execute runs this operations and returns an error if the operation did not execute successfully.

func (*Delete) Hint added in v1.4.0

func (d *Delete) Hint(hint bool) *Delete

Hint is a flag to indicate that the update document contains a hint. Hint is only supported by servers >= 4.4. Older servers >= 3.4 will report an error for using the hint option. For servers < 3.4, the driver will return an error if the hint option is used.

func (*Delete) Let added in v1.9.0

func (d *Delete) Let(let bsoncore.Document) *Delete

Let specifies the let document to use. This option is only valid for server versions 5.0 and above.

func (*Delete) Logger added in v1.12.0

func (d *Delete) Logger(logger *logger.Logger) *Delete

Logger sets the logger for this operation.

func (*Delete) Ordered

func (d *Delete) Ordered(ordered bool) *Delete

Ordered sets ordered. If true, when a write fails, the operation will return the error, when false write failures do not stop execution of the operation.

func (*Delete) Result

func (d *Delete) Result() DeleteResult

Result returns the result of executing this operation.

func (*Delete) Retry

func (d *Delete) Retry(retry driver.RetryMode) *Delete

Retry enables retryable mode for this operation. Retries are handled automatically in driver.Operation.Execute based on how the operation is set.

func (*Delete) ServerAPI added in v1.6.0

func (d *Delete) ServerAPI(serverAPI *driver.ServerAPIOptions) *Delete

ServerAPI sets the server API version for this operation.

func (*Delete) ServerSelector

func (d *Delete) ServerSelector(selector description.ServerSelector) *Delete

ServerSelector sets the selector used to retrieve a server.

func (*Delete) Session

func (d *Delete) Session(session *session.Client) *Delete

Session sets the session for this operation.

func (*Delete) Timeout added in v1.10.0

func (d *Delete) Timeout(timeout *time.Duration) *Delete

Timeout sets the timeout for this operation.

func (*Delete) WriteConcern

func (d *Delete) WriteConcern(writeConcern *writeconcern.WriteConcern) *Delete

WriteConcern sets the write concern for this operation.

type DeleteResult

type DeleteResult struct {
	// Number of documents successfully deleted.
	N int64
}

DeleteResult represents a delete result returned by the server.

type Distinct

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

Distinct performs a distinct operation.

func NewDistinct

func NewDistinct(key string, query bsoncore.Document) *Distinct

NewDistinct constructs and returns a new Distinct.

func (*Distinct) Authenticator added in v1.17.0

func (d *Distinct) Authenticator(authenticator driver.Authenticator) *Distinct

Authenticator sets the authenticator to use for this operation.

func (*Distinct) ClusterClock

func (d *Distinct) ClusterClock(clock *session.ClusterClock) *Distinct

ClusterClock sets the cluster clock for this operation.

func (*Distinct) Collation

func (d *Distinct) Collation(collation bsoncore.Document) *Distinct

Collation specifies a collation to be used.

func (*Distinct) Collection

func (d *Distinct) Collection(collection string) *Distinct

Collection sets the collection that this command will run against.

func (*Distinct) CommandMonitor

func (d *Distinct) CommandMonitor(monitor *event.CommandMonitor) *Distinct

CommandMonitor sets the monitor to use for APM events.

func (*Distinct) Comment added in v1.10.0

func (d *Distinct) Comment(comment bsoncore.Value) *Distinct

Comment sets a value to help trace an operation.

func (*Distinct) Crypt added in v1.2.0

func (d *Distinct) Crypt(crypt driver.Crypt) *Distinct

Crypt sets the Crypt object to use for automatic encryption and decryption.

func (*Distinct) Database

func (d *Distinct) Database(database string) *Distinct

Database sets the database to run this operation against.

func (*Distinct) Deployment

func (d *Distinct) Deployment(deployment driver.Deployment) *Distinct

Deployment sets the deployment to use for this operation.

func (*Distinct) Execute

func (d *Distinct) Execute(ctx context.Context) error

Execute runs this operations and returns an error if the operation did not execute successfully.

func (*Distinct) Key

func (d *Distinct) Key(key string) *Distinct

Key specifies which field to return distinct values for.

func (*Distinct) MaxTime added in v1.11.0

func (d *Distinct) MaxTime(maxTime *time.Duration) *Distinct

MaxTime specifies the maximum amount of time to allow the query to run on the server.

func (*Distinct) Query

func (d *Distinct) Query(query bsoncore.Document) *Distinct

Query specifies which documents to return distinct values from.

func (*Distinct) ReadConcern

func (d *Distinct) ReadConcern(readConcern *readconcern.ReadConcern) *Distinct

ReadConcern specifies the read concern for this operation.

func (*Distinct) ReadPreference

func (d *Distinct) ReadPreference(readPreference *readpref.ReadPref) *Distinct

ReadPreference set the read preference used with this operation.

func (*Distinct) Result

func (d *Distinct) Result() DistinctResult

Result returns the result of executing this operation.

func (*Distinct) Retry

func (d *Distinct) Retry(retry driver.RetryMode) *Distinct

Retry enables retryable mode for this operation. Retries are handled automatically in driver.Operation.Execute based on how the operation is set.

func (*Distinct) ServerAPI added in v1.6.0

func (d *Distinct) ServerAPI(serverAPI *driver.ServerAPIOptions) *Distinct

ServerAPI sets the server API version for this operation.

func (*Distinct) ServerSelector

func (d *Distinct) ServerSelector(selector description.ServerSelector) *Distinct

ServerSelector sets the selector used to retrieve a server.

func (*Distinct) Session

func (d *Distinct) Session(session *session.Client) *Distinct

Session sets the session for this operation.

func (*Distinct) Timeout added in v1.10.0

func (d *Distinct) Timeout(timeout *time.Duration) *Distinct

Timeout sets the timeout for this operation.

type DistinctResult

type DistinctResult struct {
	// The distinct values for the field.
	Values bsoncore.Value
}

DistinctResult represents a distinct result returned by the server.

type DropCollection

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

DropCollection performs a drop operation.

func NewDropCollection

func NewDropCollection() *DropCollection

NewDropCollection constructs and returns a new DropCollection.

func (*DropCollection) Authenticator added in v1.17.0

func (dc *DropCollection) Authenticator(authenticator driver.Authenticator) *DropCollection

Authenticator sets the authenticator to use for this operation.

func (*DropCollection) ClusterClock

func (dc *DropCollection) ClusterClock(clock *session.ClusterClock) *DropCollection

ClusterClock sets the cluster clock for this operation.

func (*DropCollection) Collection

func (dc *DropCollection) Collection(collection string) *DropCollection

Collection sets the collection that this command will run against.

func (*DropCollection) CommandMonitor

func (dc *DropCollection) CommandMonitor(monitor *event.CommandMonitor) *DropCollection

CommandMonitor sets the monitor to use for APM events.

func (*DropCollection) Crypt added in v1.2.0

func (dc *DropCollection) Crypt(crypt driver.Crypt) *DropCollection

Crypt sets the Crypt object to use for automatic encryption and decryption.

func (*DropCollection) Database

func (dc *DropCollection) Database(database string) *DropCollection

Database sets the database to run this operation against.

func (*DropCollection) Deployment

func (dc *DropCollection) Deployment(deployment driver.Deployment) *DropCollection

Deployment sets the deployment to use for this operation.

func (*DropCollection) Execute

func (dc *DropCollection) Execute(ctx context.Context) error

Execute runs this operations and returns an error if the operation did not execute successfully.

func (*DropCollection) Result

func (dc *DropCollection) Result() DropCollectionResult

Result returns the result of executing this operation.

func (*DropCollection) ServerAPI added in v1.6.0

func (dc *DropCollection) ServerAPI(serverAPI *driver.ServerAPIOptions) *DropCollection

ServerAPI sets the server API version for this operation.

func (*DropCollection) ServerSelector

func (dc *DropCollection) ServerSelector(selector description.ServerSelector) *DropCollection

ServerSelector sets the selector used to retrieve a server.

func (*DropCollection) Session

func (dc *DropCollection) Session(session *session.Client) *DropCollection

Session sets the session for this operation.

func (*DropCollection) Timeout added in v1.11.0

func (dc *DropCollection) Timeout(timeout *time.Duration) *DropCollection

Timeout sets the timeout for this operation.

func (*DropCollection) WriteConcern

func (dc *DropCollection) WriteConcern(writeConcern *writeconcern.WriteConcern) *DropCollection

WriteConcern sets the write concern for this operation.

type DropCollectionResult

type DropCollectionResult struct {
	// The number of indexes in the dropped collection.
	NIndexesWas int32
	// The namespace of the dropped collection.
	Ns string
}

DropCollectionResult represents a dropCollection result returned by the server.

type DropDatabase

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

DropDatabase performs a dropDatabase operation

func NewDropDatabase

func NewDropDatabase() *DropDatabase

NewDropDatabase constructs and returns a new DropDatabase.

func (*DropDatabase) Authenticator added in v1.17.0

func (dd *DropDatabase) Authenticator(authenticator driver.Authenticator) *DropDatabase

Authenticator sets the authenticator to use for this operation.

func (*DropDatabase) ClusterClock

func (dd *DropDatabase) ClusterClock(clock *session.ClusterClock) *DropDatabase

ClusterClock sets the cluster clock for this operation.

func (*DropDatabase) CommandMonitor

func (dd *DropDatabase) CommandMonitor(monitor *event.CommandMonitor) *DropDatabase

CommandMonitor sets the monitor to use for APM events.

func (*DropDatabase) Crypt added in v1.2.0

func (dd *DropDatabase) Crypt(crypt driver.Crypt) *DropDatabase

Crypt sets the Crypt object to use for automatic encryption and decryption.

func (*DropDatabase) Database

func (dd *DropDatabase) Database(database string) *DropDatabase

Database sets the database to run this operation against.

func (*DropDatabase) Deployment

func (dd *DropDatabase) Deployment(deployment driver.Deployment) *DropDatabase

Deployment sets the deployment to use for this operation.

func (*DropDatabase) Execute

func (dd *DropDatabase) Execute(ctx context.Context) error

Execute runs this operations and returns an error if the operation did not execute successfully.

func (*DropDatabase) ServerAPI added in v1.6.0

func (dd *DropDatabase) ServerAPI(serverAPI *driver.ServerAPIOptions) *DropDatabase

ServerAPI sets the server API version for this operation.

func (*DropDatabase) ServerSelector

func (dd *DropDatabase) ServerSelector(selector description.ServerSelector) *DropDatabase

ServerSelector sets the selector used to retrieve a server.

func (*DropDatabase) Session

func (dd *DropDatabase) Session(session *session.Client) *DropDatabase

Session sets the session for this operation.

func (*DropDatabase) WriteConcern

func (dd *DropDatabase) WriteConcern(writeConcern *writeconcern.WriteConcern) *DropDatabase

WriteConcern sets the write concern for this operation.

type DropIndexes

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

DropIndexes performs an dropIndexes operation.

func NewDropIndexes

func NewDropIndexes(index any) *DropIndexes

NewDropIndexes constructs and returns a new DropIndexes.

func (*DropIndexes) Authenticator added in v1.17.0

func (di *DropIndexes) Authenticator(authenticator driver.Authenticator) *DropIndexes

Authenticator sets the authenticator to use for this operation.

func (*DropIndexes) ClusterClock

func (di *DropIndexes) ClusterClock(clock *session.ClusterClock) *DropIndexes

ClusterClock sets the cluster clock for this operation.

func (*DropIndexes) Collection

func (di *DropIndexes) Collection(collection string) *DropIndexes

Collection sets the collection that this command will run against.

func (*DropIndexes) CommandMonitor

func (di *DropIndexes) CommandMonitor(monitor *event.CommandMonitor) *DropIndexes

CommandMonitor sets the monitor to use for APM events.

func (*DropIndexes) Crypt added in v1.2.0

func (di *DropIndexes) Crypt(crypt driver.Crypt) *DropIndexes

Crypt sets the Crypt object to use for automatic encryption and decryption.

func (*DropIndexes) Database

func (di *DropIndexes) Database(database string) *DropIndexes

Database sets the database to run this operation against.

func (*DropIndexes) Deployment

func (di *DropIndexes) Deployment(deployment driver.Deployment) *DropIndexes

Deployment sets the deployment to use for this operation.

func (*DropIndexes) Execute

func (di *DropIndexes) Execute(ctx context.Context) error

Execute runs this operations and returns an error if the operation did not execute successfully.

func (*DropIndexes) Index

func (di *DropIndexes) Index(index any) *DropIndexes

Index specifies the name of the index to drop. If '*' is specified, all indexes will be dropped.

func (*DropIndexes) MaxTime added in v1.11.0

func (di *DropIndexes) MaxTime(maxTime *time.Duration) *DropIndexes

MaxTime specifies the maximum amount of time to allow the query to run on the server.

func (*DropIndexes) Result

func (di *DropIndexes) Result() DropIndexesResult

Result returns the result of executing this operation.

func (*DropIndexes) ServerAPI added in v1.6.0

func (di *DropIndexes) ServerAPI(serverAPI *driver.ServerAPIOptions) *DropIndexes

ServerAPI sets the server API version for this operation.

func (*DropIndexes) ServerSelector

func (di *DropIndexes) ServerSelector(selector description.ServerSelector) *DropIndexes

ServerSelector sets the selector used to retrieve a server.

func (*DropIndexes) Session

func (di *DropIndexes) Session(session *session.Client) *DropIndexes

Session sets the session for this operation.

func (*DropIndexes) Timeout added in v1.10.0

func (di *DropIndexes) Timeout(timeout *time.Duration) *DropIndexes

Timeout sets the timeout for this operation.

func (*DropIndexes) WriteConcern

func (di *DropIndexes) WriteConcern(writeConcern *writeconcern.WriteConcern) *DropIndexes

WriteConcern sets the write concern for this operation.

type DropIndexesResult

type DropIndexesResult struct {
	// Number of indexes that existed before the drop was executed.
	NIndexesWas int32
}

DropIndexesResult represents a dropIndexes result returned by the server.

type DropSearchIndex added in v1.13.0

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

DropSearchIndex performs an dropSearchIndex operation.

func NewDropSearchIndex added in v1.13.0

func NewDropSearchIndex(index string) *DropSearchIndex

NewDropSearchIndex constructs and returns a new DropSearchIndex.

func (*DropSearchIndex) Authenticator added in v1.17.0

func (dsi *DropSearchIndex) Authenticator(authenticator driver.Authenticator) *DropSearchIndex

Authenticator sets the authenticator to use for this operation.

func (*DropSearchIndex) ClusterClock added in v1.13.0

func (dsi *DropSearchIndex) ClusterClock(clock *session.ClusterClock) *DropSearchIndex

ClusterClock sets the cluster clock for this operation.

func (*DropSearchIndex) Collection added in v1.13.0

func (dsi *DropSearchIndex) Collection(collection string) *DropSearchIndex

Collection sets the collection that this command will run against.

func (*DropSearchIndex) CommandMonitor added in v1.13.0

func (dsi *DropSearchIndex) CommandMonitor(monitor *event.CommandMonitor) *DropSearchIndex

CommandMonitor sets the monitor to use for APM events.

func (*DropSearchIndex) Crypt added in v1.13.0

func (dsi *DropSearchIndex) Crypt(crypt driver.Crypt) *DropSearchIndex

Crypt sets the Crypt object to use for automatic encryption and decryption.

func (*DropSearchIndex) Database added in v1.13.0

func (dsi *DropSearchIndex) Database(database string) *DropSearchIndex

Database sets the database to run this operation against.

func (*DropSearchIndex) Deployment added in v1.13.0

func (dsi *DropSearchIndex) Deployment(deployment driver.Deployment) *DropSearchIndex

Deployment sets the deployment to use for this operation.

func (*DropSearchIndex) Execute added in v1.13.0

func (dsi *DropSearchIndex) Execute(ctx context.Context) error

Execute runs this operations and returns an error if the operation did not execute successfully.

func (*DropSearchIndex) Index added in v1.13.0

func (dsi *DropSearchIndex) Index(index string) *DropSearchIndex

Index specifies the name of the index to drop. If '*' is specified, all indexes will be dropped.

func (*DropSearchIndex) Result added in v1.13.0

func (dsi *DropSearchIndex) Result() DropSearchIndexResult

Result returns the result of executing this operation.

func (*DropSearchIndex) ServerAPI added in v1.13.0

func (dsi *DropSearchIndex) ServerAPI(serverAPI *driver.ServerAPIOptions) *DropSearchIndex

ServerAPI sets the server API version for this operation.

func (*DropSearchIndex) ServerSelector added in v1.13.0

func (dsi *DropSearchIndex) ServerSelector(selector description.ServerSelector) *DropSearchIndex

ServerSelector sets the selector used to retrieve a server.

func (*DropSearchIndex) Session added in v1.13.0

func (dsi *DropSearchIndex) Session(session *session.Client) *DropSearchIndex

Session sets the session for this operation.

func (*DropSearchIndex) Timeout added in v1.13.0

func (dsi *DropSearchIndex) Timeout(timeout *time.Duration) *DropSearchIndex

Timeout sets the timeout for this operation.

type DropSearchIndexResult added in v1.13.0

type DropSearchIndexResult struct {
	Ok int32
}

DropSearchIndexResult represents a dropSearchIndex result returned by the server.

type EndSessions

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

EndSessions performs an endSessions operation.

func NewEndSessions

func NewEndSessions(sessionIDs bsoncore.Document) *EndSessions

NewEndSessions constructs and returns a new EndSessions.

func (*EndSessions) Authenticator added in v1.17.0

func (es *EndSessions) Authenticator(authenticator driver.Authenticator) *EndSessions

Authenticator sets the authenticator to use for this operation.

func (*EndSessions) ClusterClock

func (es *EndSessions) ClusterClock(clock *session.ClusterClock) *EndSessions

ClusterClock sets the cluster clock for this operation.

func (*EndSessions) CommandMonitor

func (es *EndSessions) CommandMonitor(monitor *event.CommandMonitor) *EndSessions

CommandMonitor sets the monitor to use for APM events.

func (*EndSessions) Crypt added in v1.2.0

func (es *EndSessions) Crypt(crypt driver.Crypt) *EndSessions

Crypt sets the Crypt object to use for automatic encryption and decryption.

func (*EndSessions) Database

func (es *EndSessions) Database(database string) *EndSessions

Database sets the database to run this operation against.

func (*EndSessions) Deployment

func (es *EndSessions) Deployment(deployment driver.Deployment) *EndSessions

Deployment sets the deployment to use for this operation.

func (*EndSessions) Execute

func (es *EndSessions) Execute(ctx context.Context) error

Execute runs this operations and returns an error if the operation did not execute successfully.

func (*EndSessions) ServerAPI added in v1.6.0

func (es *EndSessions) ServerAPI(serverAPI *driver.ServerAPIOptions) *EndSessions

ServerAPI sets the server API version for this operation.

func (*EndSessions) ServerSelector

func (es *EndSessions) ServerSelector(selector description.ServerSelector) *EndSessions

ServerSelector sets the selector used to retrieve a server.

func (*EndSessions) Session

func (es *EndSessions) Session(session *session.Client) *EndSessions

Session sets the session for this operation.

func (*EndSessions) SessionIDs

func (es *EndSessions) SessionIDs(sessionIDs bsoncore.Document) *EndSessions

SessionIDs specifies the sessions to be expired.

type Find

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

Find performs a find operation.

func NewFind

func NewFind(filter bsoncore.Document) *Find

NewFind constructs and returns a new Find.

func (*Find) AllowDiskUse added in v1.4.0

func (f *Find) AllowDiskUse(allowDiskUse bool) *Find

AllowDiskUse when true allows temporary data to be written to disk during the find command."

func (*Find) AllowPartialResults

func (f *Find) AllowPartialResults(allowPartialResults bool) *Find

AllowPartialResults when true allows partial results to be returned if some shards are down.

func (*Find) Authenticator added in v1.17.0

func (f *Find) Authenticator(authenticator driver.Authenticator) *Find

Authenticator sets the authenticator to use for this operation.

func (*Find) AwaitData

func (f *Find) AwaitData(awaitData bool) *Find

AwaitData when true makes a cursor block before returning when no data is available.

func (*Find) BatchSize

func (f *Find) BatchSize(batchSize int32) *Find

BatchSize specifies the number of documents to return in every batch.

func (*Find) ClusterClock

func (f *Find) ClusterClock(clock *session.ClusterClock) *Find

ClusterClock sets the cluster clock for this operation.

func (*Find) Collation

func (f *Find) Collation(collation bsoncore.Document) *Find

Collation specifies a collation to be used.

func (*Find) Collection

func (f *Find) Collection(collection string) *Find

Collection sets the collection that this command will run against.

func (*Find) CommandMonitor

func (f *Find) CommandMonitor(monitor *event.CommandMonitor) *Find

CommandMonitor sets the monitor to use for APM events.

func (*Find) Comment

func (f *Find) Comment(comment string) *Find

Comment sets a string to help trace an operation.

func (*Find) Crypt added in v1.2.0

func (f *Find) Crypt(crypt driver.Crypt) *Find

Crypt sets the Crypt object to use for automatic encryption and decryption.

func (*Find) Database

func (f *Find) Database(database string) *Find

Database sets the database to run this operation against.

func (*Find) Deployment

func (f *Find) Deployment(deployment driver.Deployment) *Find

Deployment sets the deployment to use for this operation.

func (*Find) Execute

func (f *Find) Execute(ctx context.Context) error

Execute runs this operations and returns an error if the operation did not execute successfully.

func (*Find) Filter

func (f *Find) Filter(filter bsoncore.Document) *Find

Filter determines what results are returned from find.

func (*Find) Hint

func (f *Find) Hint(hint bsoncore.Value) *Find

Hint specifies the index to use.

func (*Find) Let added in v1.9.0

func (f *Find) Let(let bsoncore.Document) *Find

Let specifies the let document to use. This option is only valid for server versions 5.0 and above.

func (*Find) Limit

func (f *Find) Limit(limit int64) *Find

Limit sets a limit on the number of documents to return.

func (*Find) Logger added in v1.12.0

func (f *Find) Logger(logger *logger.Logger) *Find

Logger sets the logger for this operation.

func (*Find) Max

func (f *Find) Max(max bsoncore.Document) *Find

Max sets an exclusive upper bound for a specific index.

func (*Find) MaxTime added in v1.11.0

func (f *Find) MaxTime(maxTime *time.Duration) *Find

MaxTime specifies the maximum amount of time to allow the query to run on the server.

func (*Find) Min

func (f *Find) Min(min bsoncore.Document) *Find

Min sets an inclusive lower bound for a specific index.

func (*Find) NoCursorTimeout

func (f *Find) NoCursorTimeout(noCursorTimeout bool) *Find

NoCursorTimeout when true prevents cursor from timing out after an inactivity period.

func (*Find) OmitCSOTMaxTimeMS added in v1.15.0

func (f *Find) OmitCSOTMaxTimeMS(omit bool) *Find

OmitCSOTMaxTimeMS omits the automatically-calculated "maxTimeMS" from the command when CSOT is enabled. It does not effect "maxTimeMS" set by Find.MaxTime.

func (*Find) OplogReplay

func (f *Find) OplogReplay(oplogReplay bool) *Find

OplogReplay when true replays a replica set's oplog.

func (*Find) Projection

func (f *Find) Projection(projection bsoncore.Document) *Find

Projection limits the fields returned for all documents.

func (*Find) ReadConcern

func (f *Find) ReadConcern(readConcern *readconcern.ReadConcern) *Find

ReadConcern specifies the read concern for this operation.

func (*Find) ReadPreference

func (f *Find) ReadPreference(readPreference *readpref.ReadPref) *Find

ReadPreference set the read preference used with this operation.

func (*Find) Result

func (f *Find) Result(opts driver.CursorOptions) (*driver.BatchCursor, error)

Result returns the result of executing this operation.

func (*Find) Retry

func (f *Find) Retry(retry driver.RetryMode) *Find

Retry enables retryable mode for this operation. Retries are handled automatically in driver.Operation.Execute based on how the operation is set.

func (*Find) ReturnKey

func (f *Find) ReturnKey(returnKey bool) *Find

ReturnKey when true returns index keys for all result documents.

func (*Find) ServerAPI added in v1.6.0

func (f *Find) ServerAPI(serverAPI *driver.ServerAPIOptions) *Find

ServerAPI sets the server API version for this operation.

func (*Find) ServerSelector

func (f *Find) ServerSelector(selector description.ServerSelector) *Find

ServerSelector sets the selector used to retrieve a server.

func (*Find) Session

func (f *Find) Session(session *session.Client) *Find

Session sets the session for this operation.

func (*Find) ShowRecordID

func (f *Find) ShowRecordID(showRecordID bool) *Find

ShowRecordID when true adds a $recordId field with the record identifier to returned documents.

func (*Find) SingleBatch

func (f *Find) SingleBatch(singleBatch bool) *Find

SingleBatch specifies whether the results should be returned in a single batch.

func (*Find) Skip

func (f *Find) Skip(skip int64) *Find

Skip specifies the number of documents to skip before returning.

func (*Find) Snapshot

func (f *Find) Snapshot(snapshot bool) *Find

Snapshot prevents the cursor from returning a document more than once because of an intervening write operation.

func (*Find) Sort

func (f *Find) Sort(sort bsoncore.Document) *Find

Sort specifies the order in which to return results.

func (*Find) Tailable

func (f *Find) Tailable(tailable bool) *Find

Tailable keeps a cursor open and resumable after the last data has been retrieved.

func (*Find) Timeout added in v1.10.0

func (f *Find) Timeout(timeout *time.Duration) *Find

Timeout sets the timeout for this operation.

type FindAndModify

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

FindAndModify performs a findAndModify operation.

func NewFindAndModify

func NewFindAndModify(query bsoncore.Document) *FindAndModify

NewFindAndModify constructs and returns a new FindAndModify.

func (*FindAndModify) ArrayFilters

func (fam *FindAndModify) ArrayFilters(arrayFilters bsoncore.Array) *FindAndModify

ArrayFilters specifies an array of filter documents that determines which array elements to modify for an update operation on an array field.

func (*FindAndModify) Authenticator added in v1.17.0

func (fam *FindAndModify) Authenticator(authenticator driver.Authenticator) *FindAndModify

Authenticator sets the authenticator to use for this operation.

func (*FindAndModify) BypassDocumentValidation

func (fam *FindAndModify) BypassDocumentValidation(bypassDocumentValidation bool) *FindAndModify

BypassDocumentValidation specifies if document validation can be skipped when executing the operation.

func (*FindAndModify) ClusterClock

func (fam *FindAndModify) ClusterClock(clock *session.ClusterClock) *FindAndModify

ClusterClock sets the cluster clock for this operation.

func (*FindAndModify) Collation

func (fam *FindAndModify) Collation(collation bsoncore.Document) *FindAndModify

Collation specifies a collation to be used.

func (*FindAndModify) Collection

func (fam *FindAndModify) Collection(collection string) *FindAndModify

Collection sets the collection that this command will run against.

func (*FindAndModify) CommandMonitor

func (fam *FindAndModify) CommandMonitor(monitor *event.CommandMonitor) *FindAndModify

CommandMonitor sets the monitor to use for APM events.

func (*FindAndModify) Comment added in v1.10.0

func (fam *FindAndModify) Comment(comment bsoncore.Value) *FindAndModify

Comment sets a value to help trace an operation.

func (*FindAndModify) Crypt added in v1.2.0

func (fam *FindAndModify) Crypt(crypt driver.Crypt) *FindAndModify

Crypt sets the Crypt object to use for automatic encryption and decryption.

func (*FindAndModify) Database

func (fam *FindAndModify) Database(database string) *FindAndModify

Database sets the database to run this operation against.

func (*FindAndModify) Deployment

func (fam *FindAndModify) Deployment(deployment driver.Deployment) *FindAndModify

Deployment sets the deployment to use for this operation.

func (*FindAndModify) Execute

func (fam *FindAndModify) Execute(ctx context.Context) error

Execute runs this operations and returns an error if the operation did not execute successfully.

func (*FindAndModify) Fields

func (fam *FindAndModify) Fields(fields bsoncore.Document) *FindAndModify

Fields specifies a subset of fields to return.

func (*FindAndModify) Hint added in v1.4.0

func (fam *FindAndModify) Hint(hint bsoncore.Value) *FindAndModify

Hint specifies the index to use.

func (*FindAndModify) Let added in v1.9.0

Let specifies the let document to use. This option is only valid for server versions 5.0 and above.

func (*FindAndModify) MaxTime added in v1.11.0

func (fam *FindAndModify) MaxTime(maxTime *time.Duration) *FindAndModify

MaxTime specifies the maximum amount of time to allow the operation to run on the server.

func (*FindAndModify) NewDocument

func (fam *FindAndModify) NewDocument(newDocument bool) *FindAndModify

NewDocument specifies whether to return the modified document or the original. Defaults to false (return original).

func (*FindAndModify) Query

func (fam *FindAndModify) Query(query bsoncore.Document) *FindAndModify

Query specifies the selection criteria for the modification.

func (*FindAndModify) Remove

func (fam *FindAndModify) Remove(remove bool) *FindAndModify

Remove specifies that the matched document should be removed. Defaults to false.

func (*FindAndModify) Result

func (fam *FindAndModify) Result() FindAndModifyResult

Result returns the result of executing this operation.

func (*FindAndModify) Retry

func (fam *FindAndModify) Retry(retry driver.RetryMode) *FindAndModify

Retry enables retryable writes for this operation. Retries are not handled automatically, instead a boolean is returned from Execute and SelectAndExecute that indicates if the operation can be retried. Retrying is handled by calling RetryExecute.

func (*FindAndModify) ServerAPI added in v1.6.0

func (fam *FindAndModify) ServerAPI(serverAPI *driver.ServerAPIOptions) *FindAndModify

ServerAPI sets the server API version for this operation.

func (*FindAndModify) ServerSelector

func (fam *FindAndModify) ServerSelector(selector description.ServerSelector) *FindAndModify

ServerSelector sets the selector used to retrieve a server.

func (*FindAndModify) Session

func (fam *FindAndModify) Session(session *session.Client) *FindAndModify

Session sets the session for this operation.

func (*FindAndModify) Sort

func (fam *FindAndModify) Sort(sort bsoncore.Document) *FindAndModify

Sort determines which document the operation modifies if the query matches multiple documents.The first document matched by the sort order will be modified.

func (*FindAndModify) Timeout added in v1.10.0

func (fam *FindAndModify) Timeout(timeout *time.Duration) *FindAndModify

Timeout sets the timeout for this operation.

func (*FindAndModify) Update

func (fam *FindAndModify) Update(update bsoncore.Value) *FindAndModify

Update specifies the update document to perform on the matched document.

func (*FindAndModify) Upsert

func (fam *FindAndModify) Upsert(upsert bool) *FindAndModify

Upsert specifies whether or not to create a new document if no documents match the query when doing an update. Defaults to false.

func (*FindAndModify) WriteConcern

func (fam *FindAndModify) WriteConcern(writeConcern *writeconcern.WriteConcern) *FindAndModify

WriteConcern sets the write concern for this operation.

type FindAndModifyResult

type FindAndModifyResult struct {
	// Either the old or modified document, depending on the value of the new parameter.
	Value bsoncore.Document
	// Contains information about updates and upserts.
	LastErrorObject LastErrorObject
}

FindAndModifyResult represents a findAndModify result returned by the server.

type Hello added in v1.8.0

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

Hello is used to run the handshake operation.

func NewHello added in v1.8.0

func NewHello() *Hello

NewHello constructs a Hello.

func (*Hello) AppName added in v1.8.0

func (h *Hello) AppName(appname string) *Hello

AppName sets the application name in the client metadata sent in this operation.

func (*Hello) Authenticator added in v1.17.0

func (h *Hello) Authenticator(authenticator driver.Authenticator) *Hello

Authenticator sets the authenticator to use for this operation.

func (*Hello) ClusterClock added in v1.8.0

func (h *Hello) ClusterClock(clock *session.ClusterClock) *Hello

ClusterClock sets the cluster clock for this operation.

func (*Hello) Compressors added in v1.8.0

func (h *Hello) Compressors(compressors []string) *Hello

Compressors sets the compressors that can be used.

func (*Hello) Deployment added in v1.8.0

func (h *Hello) Deployment(d driver.Deployment) *Hello

Deployment sets the Deployment for this operation.

func (*Hello) Execute added in v1.8.0

func (h *Hello) Execute(ctx context.Context) error

Execute runs this operation.

func (*Hello) FinishHandshake added in v1.8.0

func (h *Hello) FinishHandshake(context.Context, driver.Connection) error

FinishHandshake implements the Handshaker interface. This is a no-op function because a non-authenticated connection does not do anything besides the initial Hello for a handshake.

func (*Hello) GetHandshakeInformation added in v1.8.0

func (h *Hello) GetHandshakeInformation(ctx context.Context, _ address.Address, c driver.Connection) (driver.HandshakeInformation, error)

GetHandshakeInformation performs the MongoDB handshake for the provided connection and returns the relevant information about the server. This function implements the driver.Handshaker interface.

func (*Hello) LoadBalanced added in v1.8.0

func (h *Hello) LoadBalanced(lb bool) *Hello

LoadBalanced specifies whether or not this operation is being sent over a connection to a load balanced cluster.

func (*Hello) MaxAwaitTimeMS added in v1.8.0

func (h *Hello) MaxAwaitTimeMS(awaitTime int64) *Hello

MaxAwaitTimeMS sets the maximum time for the server to wait for topology changes during a heartbeat.

func (*Hello) Result added in v1.8.0

func (h *Hello) Result(addr address.Address) description.Server

Result returns the result of executing this operation.

func (*Hello) SASLSupportedMechs added in v1.8.0

func (h *Hello) SASLSupportedMechs(username string) *Hello

SASLSupportedMechs retrieves the supported SASL mechanism for the given user when this operation is run.

func (*Hello) ServerAPI added in v1.8.0

func (h *Hello) ServerAPI(serverAPI *driver.ServerAPIOptions) *Hello

ServerAPI sets the server API version for this operation.

func (*Hello) SpeculativeAuthenticate added in v1.8.0

func (h *Hello) SpeculativeAuthenticate(doc bsoncore.Document) *Hello

SpeculativeAuthenticate sets the document to be used for speculative authentication.

func (*Hello) StreamResponse added in v1.8.0

func (h *Hello) StreamResponse(ctx context.Context, conn driver.StreamerConnection) error

StreamResponse gets the next streaming Hello response from the server.

func (*Hello) TopologyVersion added in v1.8.0

func (h *Hello) TopologyVersion(tv *description.TopologyVersion) *Hello

TopologyVersion sets the TopologyVersion to be used for heartbeats.

type Insert

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

Insert performs an insert operation.

func NewInsert

func NewInsert(documents ...bsoncore.Document) *Insert

NewInsert constructs and returns a new Insert.

func (*Insert) Authenticator added in v1.17.0

func (i *Insert) Authenticator(authenticator driver.Authenticator) *Insert

Authenticator sets the authenticator to use for this operation.

func (*Insert) BypassDocumentValidation

func (i *Insert) BypassDocumentValidation(bypassDocumentValidation bool) *Insert

BypassDocumentValidation allows the operation to opt-out of document level validation. Valid for server versions >= 3.2. For servers < 3.2, this setting is ignored.

func (*Insert) ClusterClock

func (i *Insert) ClusterClock(clock *session.ClusterClock) *Insert

ClusterClock sets the cluster clock for this operation.

func (*Insert) Collection

func (i *Insert) Collection(collection string) *Insert

Collection sets the collection that this command will run against.

func (*Insert) CommandMonitor

func (i *Insert) CommandMonitor(monitor *event.CommandMonitor) *Insert

CommandMonitor sets the monitor to use for APM events.

func (*Insert) Comment added in v1.10.0

func (i *Insert) Comment(comment bsoncore.Value) *Insert

Comment sets a value to help trace an operation.

func (*Insert) Crypt added in v1.2.0

func (i *Insert) Crypt(crypt driver.Crypt) *Insert

Crypt sets the Crypt object to use for automatic encryption and decryption.

func (*Insert) Database

func (i *Insert) Database(database string) *Insert

Database sets the database to run this operation against.

func (*Insert) Deployment

func (i *Insert) Deployment(deployment driver.Deployment) *Insert

Deployment sets the deployment to use for this operation.

func (*Insert) Documents

func (i *Insert) Documents(documents ...bsoncore.Document) *Insert

Documents adds documents to this operation that will be inserted when this operation is executed.

func (*Insert) Execute

func (i *Insert) Execute(ctx context.Context) error

Execute runs this operations and returns an error if the operation did not execute successfully.

func (*Insert) Logger added in v1.12.0

func (i *Insert) Logger(logger *logger.Logger) *Insert

Logger sets the logger for this operation.

func (*Insert) Ordered

func (i *Insert) Ordered(ordered bool) *Insert

Ordered sets ordered. If true, when a write fails, the operation will return the error, when false write failures do not stop execution of the operation.

func (*Insert) Result

func (i *Insert) Result() InsertResult

Result returns the result of executing this operation.

func (*Insert) Retry

func (i *Insert) Retry(retry driver.RetryMode) *Insert

Retry enables retryable mode for this operation. Retries are handled automatically in driver.Operation.Execute based on how the operation is set.

func (*Insert) ServerAPI added in v1.6.0

func (i *Insert) ServerAPI(serverAPI *driver.ServerAPIOptions) *Insert

ServerAPI sets the server API version for this operation.

func (*Insert) ServerSelector

func (i *Insert) ServerSelector(selector description.ServerSelector) *Insert

ServerSelector sets the selector used to retrieve a server.

func (*Insert) Session

func (i *Insert) Session(session *session.Client) *Insert

Session sets the session for this operation.

func (*Insert) Timeout added in v1.10.0

func (i *Insert) Timeout(timeout *time.Duration) *Insert

Timeout sets the timeout for this operation.

func (*Insert) WriteConcern

func (i *Insert) WriteConcern(writeConcern *writeconcern.WriteConcern) *Insert

WriteConcern sets the write concern for this operation.

type InsertResult

type InsertResult struct {
	// Number of documents successfully inserted.
	N int64
}

InsertResult represents an insert result returned by the server.

type LastErrorObject

type LastErrorObject struct {
	// True if an update modified an existing document
	UpdatedExisting bool
	// Object ID of the upserted document.
	Upserted interface{}
}

LastErrorObject represents information about updates and upserts returned by the server.

type ListCollections

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

ListCollections performs a listCollections operation.

func NewListCollections

func NewListCollections(filter bsoncore.Document) *ListCollections

NewListCollections constructs and returns a new ListCollections.

func (*ListCollections) Authenticator added in v1.17.0

func (lc *ListCollections) Authenticator(authenticator driver.Authenticator) *ListCollections

Authenticator sets the authenticator to use for this operation.

func (*ListCollections) AuthorizedCollections added in v1.9.0

func (lc *ListCollections) AuthorizedCollections(authorizedCollections bool) *ListCollections

AuthorizedCollections specifies whether to only return collections the user is authorized to use.

func (*ListCollections) BatchSize added in v1.5.0

func (lc *ListCollections) BatchSize(batchSize int32) *ListCollections

BatchSize specifies the number of documents to return in every batch.

func (*ListCollections) ClusterClock

func (lc *ListCollections) ClusterClock(clock *session.ClusterClock) *ListCollections

ClusterClock sets the cluster clock for this operation.

func (*ListCollections) CommandMonitor

func (lc *ListCollections) CommandMonitor(monitor *event.CommandMonitor) *ListCollections

CommandMonitor sets the monitor to use for APM events.

func (*ListCollections) Crypt added in v1.2.0

func (lc *ListCollections) Crypt(crypt driver.Crypt) *ListCollections

Crypt sets the Crypt object to use for automatic encryption and decryption.

func (*ListCollections) Database

func (lc *ListCollections) Database(database string) *ListCollections

Database sets the database to run this operation against.

func (*ListCollections) Deployment

func (lc *ListCollections) Deployment(deployment driver.Deployment) *ListCollections

Deployment sets the deployment to use for this operation.

func (*ListCollections) Execute

func (lc *ListCollections) Execute(ctx context.Context) error

Execute runs this operations and returns an error if the operation did not execute successfully.

func (*ListCollections) Filter

func (lc *ListCollections) Filter(filter bsoncore.Document) *ListCollections

Filter determines what results are returned from listCollections.

func (*ListCollections) NameOnly

func (lc *ListCollections) NameOnly(nameOnly bool) *ListCollections

NameOnly specifies whether to only return collection names.

func (*ListCollections) ReadPreference

func (lc *ListCollections) ReadPreference(readPreference *readpref.ReadPref) *ListCollections

ReadPreference set the read preference used with this operation.

func (*ListCollections) Result

Result returns the result of executing this operation.

func (*ListCollections) Retry

func (lc *ListCollections) Retry(retry driver.RetryMode) *ListCollections

Retry enables retryable mode for this operation. Retries are handled automatically in driver.Operation.Execute based on how the operation is set.

func (*ListCollections) ServerAPI added in v1.6.0

func (lc *ListCollections) ServerAPI(serverAPI *driver.ServerAPIOptions) *ListCollections

ServerAPI sets the server API version for this operation.

func (*ListCollections) ServerSelector

func (lc *ListCollections) ServerSelector(selector description.ServerSelector) *ListCollections

ServerSelector sets the selector used to retrieve a server.

func (*ListCollections) Session

func (lc *ListCollections) Session(session *session.Client) *ListCollections

Session sets the session for this operation.

func (*ListCollections) Timeout added in v1.10.0

func (lc *ListCollections) Timeout(timeout *time.Duration) *ListCollections

Timeout sets the timeout for this operation.

type ListDatabases

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

ListDatabases performs a listDatabases operation.

func NewListDatabases

func NewListDatabases(filter bsoncore.Document) *ListDatabases

NewListDatabases constructs and returns a new ListDatabases.

func (*ListDatabases) Authenticator added in v1.17.0

func (ld *ListDatabases) Authenticator(authenticator driver.Authenticator) *ListDatabases

Authenticator sets the authenticator to use for this operation.

func (*ListDatabases) AuthorizedDatabases added in v1.4.0

func (ld *ListDatabases) AuthorizedDatabases(authorizedDatabases bool) *ListDatabases

AuthorizedDatabases specifies whether to only return databases which the user is authorized to use."

func (*ListDatabases) ClusterClock

func (ld *ListDatabases) ClusterClock(clock *session.ClusterClock) *ListDatabases

ClusterClock sets the cluster clock for this operation.

func (*ListDatabases) CommandMonitor

func (ld *ListDatabases) CommandMonitor(monitor *event.CommandMonitor) *ListDatabases

CommandMonitor sets the monitor to use for APM events.

func (*ListDatabases) Crypt added in v1.2.0

func (ld *ListDatabases) Crypt(crypt driver.Crypt) *ListDatabases

Crypt sets the Crypt object to use for automatic encryption and decryption.

func (*ListDatabases) Database

func (ld *ListDatabases) Database(database string) *ListDatabases

Database sets the database to run this operation against.

func (*ListDatabases) Deployment

func (ld *ListDatabases) Deployment(deployment driver.Deployment) *ListDatabases

Deployment sets the deployment to use for this operation.

func (*ListDatabases) Execute

func (ld *ListDatabases) Execute(ctx context.Context) error

Execute runs this operations and returns an error if the operation did not execute successfully.

func (*ListDatabases) Filter

func (ld *ListDatabases) Filter(filter bsoncore.Document) *ListDatabases

Filter determines what results are returned from listDatabases.

func (*ListDatabases) NameOnly

func (ld *ListDatabases) NameOnly(nameOnly bool) *ListDatabases

NameOnly specifies whether to only return database names.

func (*ListDatabases) ReadPreference

func (ld *ListDatabases) ReadPreference(readPreference *readpref.ReadPref) *ListDatabases

ReadPreference set the read preference used with this operation.

func (*ListDatabases) Result

func (ld *ListDatabases) Result() ListDatabasesResult

Result returns the result of executing this operation.

func (*ListDatabases) Retry

func (ld *ListDatabases) Retry(retry driver.RetryMode) *ListDatabases

Retry enables retryable mode for this operation. Retries are handled automatically in driver.Operation.Execute based on how the operation is set.

func (*ListDatabases) ServerAPI added in v1.6.0

func (ld *ListDatabases) ServerAPI(serverAPI *driver.ServerAPIOptions) *ListDatabases

ServerAPI sets the server API version for this operation.

func (*ListDatabases) ServerSelector

func (ld *ListDatabases) ServerSelector(selector description.ServerSelector) *ListDatabases

ServerSelector sets the selector used to retrieve a server.

func (*ListDatabases) Session

func (ld *ListDatabases) Session(session *session.Client) *ListDatabases

Session sets the session for this operation.

func (*ListDatabases) Timeout added in v1.10.0

func (ld *ListDatabases) Timeout(timeout *time.Duration) *ListDatabases

Timeout sets the timeout for this operation.

type ListDatabasesResult

type ListDatabasesResult struct {
	// An array of documents, one document for each database
	Databases []databaseRecord
	// The sum of the size of all the database files on disk in bytes.
	TotalSize int64
}

ListDatabasesResult represents a listDatabases result returned by the server.

type ListIndexes

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

ListIndexes performs a listIndexes operation.

func NewListIndexes

func NewListIndexes() *ListIndexes

NewListIndexes constructs and returns a new ListIndexes.

func (*ListIndexes) Authenticator added in v1.17.0

func (li *ListIndexes) Authenticator(authenticator driver.Authenticator) *ListIndexes

Authenticator sets the authenticator to use for this operation.

func (*ListIndexes) BatchSize

func (li *ListIndexes) BatchSize(batchSize int32) *ListIndexes

BatchSize specifies the number of documents to return in every batch.

func (*ListIndexes) ClusterClock

func (li *ListIndexes) ClusterClock(clock *session.ClusterClock) *ListIndexes

ClusterClock sets the cluster clock for this operation.

func (*ListIndexes) Collection

func (li *ListIndexes) Collection(collection string) *ListIndexes

Collection sets the collection that this command will run against.

func (*ListIndexes) CommandMonitor

func (li *ListIndexes) CommandMonitor(monitor *event.CommandMonitor) *ListIndexes

CommandMonitor sets the monitor to use for APM events.

func (*ListIndexes) Crypt added in v1.2.0

func (li *ListIndexes) Crypt(crypt driver.Crypt) *ListIndexes

Crypt sets the Crypt object to use for automatic encryption and decryption.

func (*ListIndexes) Database

func (li *ListIndexes) Database(database string) *ListIndexes

Database sets the database to run this operation against.

func (*ListIndexes) Deployment

func (li *ListIndexes) Deployment(deployment driver.Deployment) *ListIndexes

Deployment sets the deployment to use for this operation.

func (*ListIndexes) Execute

func (li *ListIndexes) Execute(ctx context.Context) error

Execute runs this operations and returns an error if the operation did not execute successfully.

func (*ListIndexes) MaxTime added in v1.11.0

func (li *ListIndexes) MaxTime(maxTime *time.Duration) *ListIndexes

MaxTime specifies the maximum amount of time to allow the query to run on the server.

func (*ListIndexes) Result

func (li *ListIndexes) Result(opts driver.CursorOptions) (*driver.BatchCursor, error)

Result returns the result of executing this operation.

func (*ListIndexes) Retry

func (li *ListIndexes) Retry(retry driver.RetryMode) *ListIndexes

Retry enables retryable mode for this operation. Retries are handled automatically in driver.Operation.Execute based on how the operation is set.

func (*ListIndexes) ServerAPI added in v1.6.0

func (li *ListIndexes) ServerAPI(serverAPI *driver.ServerAPIOptions) *ListIndexes

ServerAPI sets the server API version for this operation.

func (*ListIndexes) ServerSelector

func (li *ListIndexes) ServerSelector(selector description.ServerSelector) *ListIndexes

ServerSelector sets the selector used to retrieve a server.

func (*ListIndexes) Session

func (li *ListIndexes) Session(session *session.Client) *ListIndexes

Session sets the session for this operation.

func (*ListIndexes) Timeout added in v1.10.0

func (li *ListIndexes) Timeout(timeout *time.Duration) *ListIndexes

Timeout sets the timeout for this operation.

type Update

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

Update performs an update operation.

func NewUpdate

func NewUpdate(updates ...bsoncore.Document) *Update

NewUpdate constructs and returns a new Update.

func (*Update) ArrayFilters added in v1.4.0

func (u *Update) ArrayFilters(arrayFilters bool) *Update

ArrayFilters is a flag to indicate that the update document contains an arrayFilters field. This option is only supported on server versions 3.6 and higher. For servers < 3.6, the driver will return an error.

func (*Update) Authenticator added in v1.17.0

func (u *Update) Authenticator(authenticator driver.Authenticator) *Update

Authenticator sets the authenticator to use for this operation.

func (*Update) BypassDocumentValidation

func (u *Update) BypassDocumentValidation(bypassDocumentValidation bool) *Update

BypassDocumentValidation allows the operation to opt-out of document level validation. Valid for server versions >= 3.2. For servers < 3.2, this setting is ignored.

func (*Update) ClusterClock

func (u *Update) ClusterClock(clock *session.ClusterClock) *Update

ClusterClock sets the cluster clock for this operation.

func (*Update) Collection

func (u *Update) Collection(collection string) *Update

Collection sets the collection that this command will run against.

func (*Update) CommandMonitor

func (u *Update) CommandMonitor(monitor *event.CommandMonitor) *Update

CommandMonitor sets the monitor to use for APM events.

func (*Update) Comment added in v1.10.0

func (u *Update) Comment(comment bsoncore.Value) *Update

Comment sets a value to help trace an operation.

func (*Update) Crypt added in v1.2.0

func (u *Update) Crypt(crypt driver.Crypt) *Update

Crypt sets the Crypt object to use for automatic encryption and decryption.

func (*Update) Database

func (u *Update) Database(database string) *Update

Database sets the database to run this operation against.

func (*Update) Deployment

func (u *Update) Deployment(deployment driver.Deployment) *Update

Deployment sets the deployment to use for this operation.

func (*Update) Execute

func (u *Update) Execute(ctx context.Context) error

Execute runs this operations and returns an error if the operation did not execute successfully.

func (*Update) Hint added in v1.4.0

func (u *Update) Hint(hint bool) *Update

Hint is a flag to indicate that the update document contains a hint. Hint is only supported by servers >= 4.2. Older servers >= 3.4 will report an error for using the hint option. For servers < 3.4, the driver will return an error if the hint option is used.

func (*Update) Let added in v1.9.0

func (u *Update) Let(let bsoncore.Document) *Update

Let specifies the let document to use. This option is only valid for server versions 5.0 and above.

func (*Update) Logger added in v1.12.0

func (u *Update) Logger(logger *logger.Logger) *Update

Logger sets the logger for this operation.

func (*Update) Ordered

func (u *Update) Ordered(ordered bool) *Update

Ordered sets ordered. If true, when a write fails, the operation will return the error, when false write failures do not stop execution of the operation.

func (*Update) Result

func (u *Update) Result() UpdateResult

Result returns the result of executing this operation.

func (*Update) Retry

func (u *Update) Retry(retry driver.RetryMode) *Update

Retry enables retryable writes for this operation. Retries are not handled automatically, instead a boolean is returned from Execute and SelectAndExecute that indicates if the operation can be retried. Retrying is handled by calling RetryExecute.

func (*Update) ServerAPI added in v1.6.0

func (u *Update) ServerAPI(serverAPI *driver.ServerAPIOptions) *Update

ServerAPI sets the server API version for this operation.

func (*Update) ServerSelector

func (u *Update) ServerSelector(selector description.ServerSelector) *Update

ServerSelector sets the selector used to retrieve a server.

func (*Update) Session

func (u *Update) Session(session *session.Client) *Update

Session sets the session for this operation.

func (*Update) Timeout added in v1.10.0

func (u *Update) Timeout(timeout *time.Duration) *Update

Timeout sets the timeout for this operation.

func (*Update) Updates

func (u *Update) Updates(updates ...bsoncore.Document) *Update

Updates specifies an array of update statements to perform when this operation is executed. Each update document must have the following structure: {q: <query>, u: <update>, multi: <boolean>, collation: Optional<Document>, arrayFitlers: Optional<Array>, hint: Optional<string/Document>}.

func (*Update) WriteConcern

func (u *Update) WriteConcern(writeConcern *writeconcern.WriteConcern) *Update

WriteConcern sets the write concern for this operation.

type UpdateResult

type UpdateResult struct {
	// Number of documents matched.
	N int64
	// Number of documents modified.
	NModified int64
	// Information about upserted documents.
	Upserted []Upsert
}

UpdateResult contains information for the result of an Update operation.

type UpdateSearchIndex added in v1.13.0

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

UpdateSearchIndex performs a updateSearchIndex operation.

func NewUpdateSearchIndex added in v1.13.0

func NewUpdateSearchIndex(index string, definition bsoncore.Document) *UpdateSearchIndex

NewUpdateSearchIndex constructs and returns a new UpdateSearchIndex.

func (*UpdateSearchIndex) Authenticator added in v1.17.0

func (usi *UpdateSearchIndex) Authenticator(authenticator driver.Authenticator) *UpdateSearchIndex

Authenticator sets the authenticator to use for this operation.

func (*UpdateSearchIndex) ClusterClock added in v1.13.0

func (usi *UpdateSearchIndex) ClusterClock(clock *session.ClusterClock) *UpdateSearchIndex

ClusterClock sets the cluster clock for this operation.

func (*UpdateSearchIndex) Collection added in v1.13.0

func (usi *UpdateSearchIndex) Collection(collection string) *UpdateSearchIndex

Collection sets the collection that this command will run against.

func (*UpdateSearchIndex) CommandMonitor added in v1.13.0

func (usi *UpdateSearchIndex) CommandMonitor(monitor *event.CommandMonitor) *UpdateSearchIndex

CommandMonitor sets the monitor to use for APM events.

func (*UpdateSearchIndex) Crypt added in v1.13.0

func (usi *UpdateSearchIndex) Crypt(crypt driver.Crypt) *UpdateSearchIndex

Crypt sets the Crypt object to use for automatic encryption and decryption.

func (*UpdateSearchIndex) Database added in v1.13.0

func (usi *UpdateSearchIndex) Database(database string) *UpdateSearchIndex

Database sets the database to run this operation against.

func (*UpdateSearchIndex) Definition added in v1.13.0

func (usi *UpdateSearchIndex) Definition(definition bsoncore.Document) *UpdateSearchIndex

Definition specifies the definition for the document being created.

func (*UpdateSearchIndex) Deployment added in v1.13.0

func (usi *UpdateSearchIndex) Deployment(deployment driver.Deployment) *UpdateSearchIndex

Deployment sets the deployment to use for this operation.

func (*UpdateSearchIndex) Execute added in v1.13.0

func (usi *UpdateSearchIndex) Execute(ctx context.Context) error

Execute runs this operations and returns an error if the operation did not execute successfully.

func (*UpdateSearchIndex) Index added in v1.13.0

func (usi *UpdateSearchIndex) Index(name string) *UpdateSearchIndex

Index specifies the index of the document being updated.

func (*UpdateSearchIndex) Result added in v1.13.0

Result returns the result of executing this operation.

func (*UpdateSearchIndex) ServerAPI added in v1.13.0

func (usi *UpdateSearchIndex) ServerAPI(serverAPI *driver.ServerAPIOptions) *UpdateSearchIndex

ServerAPI sets the server API version for this operation.

func (*UpdateSearchIndex) ServerSelector added in v1.13.0

func (usi *UpdateSearchIndex) ServerSelector(selector description.ServerSelector) *UpdateSearchIndex

ServerSelector sets the selector used to retrieve a server.

func (*UpdateSearchIndex) Session added in v1.13.0

func (usi *UpdateSearchIndex) Session(session *session.Client) *UpdateSearchIndex

Session sets the session for this operation.

func (*UpdateSearchIndex) Timeout added in v1.13.0

func (usi *UpdateSearchIndex) Timeout(timeout *time.Duration) *UpdateSearchIndex

Timeout sets the timeout for this operation.

type UpdateSearchIndexResult added in v1.13.0

type UpdateSearchIndexResult struct {
	Ok int32
}

UpdateSearchIndexResult represents a single index in the updateSearchIndexResult result.

type Upsert

type Upsert struct {
	Index int64
	ID    interface{} `bson:"_id"`
}

Upsert contains the information for an upsert in an Update operation.

Jump to

Keyboard shortcuts

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