operation

package
v2.0.0 Latest Latest
Warning

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

Go to latest
Published: Dec 10, 2024 License: Apache-2.0 Imports: 24 Imported by: 0

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

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

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

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

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 bsoncore.Value) *Aggregate

Comment sets a value to help trace an operation.

func (*Aggregate) Crypt

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

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

func (*Aggregate) CustomOptions

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

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

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) OmitMaxTimeMS

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

OmitMaxTimeMS omits the automatically-calculated "maxTimeMS" from the command.

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

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

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

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

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

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

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

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

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

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

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) 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

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

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

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

Comment sets a value to help trace an operation.

func (*Count) Crypt

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) 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

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

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

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

Create represents a create operation.

func NewCreate

func NewCreate(collectionName string) *Create

NewCreate constructs and returns a new Create.

func (*Create) Authenticator

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

Authenticator sets the authenticator to use for this operation.

func (*Create) Capped

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

Capped specifies if the collection is capped.

func (*Create) ChangeStreamPreAndPostImages

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

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

ClusterClock sets the cluster clock for this operation.

func (*Create) ClusteredIndex

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

ClusteredIndex sets the ClusteredIndex option for this operation.

func (*Create) Collation

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

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

CollectionName specifies the name of the collection to create.

func (*Create) CommandMonitor

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

CommandMonitor sets the monitor to use for APM events.

func (*Create) Crypt

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

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

func (*Create) Database

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

Database sets the database to run this operation against.

func (*Create) Deployment

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

Deployment sets the deployment to use for this operation.

func (*Create) EncryptedFields

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

EncryptedFields sets the EncryptedFields for this operation.

func (*Create) Execute

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

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

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

func (*Create) IndexOptionDefaults

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

IndexOptionDefaults specifies a default configuration for indexes on the collection.

func (*Create) Max

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

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

func (*Create) Pipeline

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

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

ServerAPI sets the server API version for this operation.

func (*Create) ServerSelector

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

ServerSelector sets the selector used to retrieve a server.

func (*Create) Session

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

Session sets the session for this operation.

func (*Create) Size

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

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

func (*Create) StorageEngine

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

StorageEngine specifies the storage engine to use for the index.

func (*Create) TimeSeries

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

TimeSeries sets the time series options for this operation.

func (*Create) ValidationAction

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

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

func (*Create) ValidationLevel

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

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

Validator specifies validation rules for the collection.

func (*Create) ViewOn

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

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

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

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

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) Result

func (ci *CreateIndexes) Result() CreateIndexesResult

Result returns the result of executing this operation.

func (*CreateIndexes) ServerAPI

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

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

Timeout sets the timeout for this operation.

func (*CreateIndexes) WriteConcern

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

type CreateSearchIndexResult struct {
	Name string
}

CreateSearchIndexResult represents a single search index result in CreateSearchIndexesResult.

type CreateSearchIndexes

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

CreateSearchIndexes performs a createSearchIndexes operation.

func NewCreateSearchIndexes

func NewCreateSearchIndexes(indexes bsoncore.Document) *CreateSearchIndexes

NewCreateSearchIndexes constructs and returns a new CreateSearchIndexes.

func (*CreateSearchIndexes) Authenticator

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

Authenticator sets the authenticator to use for this operation.

func (*CreateSearchIndexes) ClusterClock

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

ClusterClock sets the cluster clock for this operation.

func (*CreateSearchIndexes) Collection

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

Collection sets the collection that this command will run against.

func (*CreateSearchIndexes) CommandMonitor

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

CommandMonitor sets the monitor to use for APM events.

func (*CreateSearchIndexes) Crypt

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

func (*CreateSearchIndexes) Database

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

Database sets the database to run this operation against.

func (*CreateSearchIndexes) Deployment

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

Deployment sets the deployment to use for this operation.

func (*CreateSearchIndexes) Execute

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

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

func (*CreateSearchIndexes) Result

Result returns the result of executing this operation.

func (*CreateSearchIndexes) ServerAPI

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

ServerAPI sets the server API version for this operation.

func (*CreateSearchIndexes) ServerSelector

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

ServerSelector sets the selector used to retrieve a server.

func (*CreateSearchIndexes) Session

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

Session sets the session for this operation.

func (*CreateSearchIndexes) Timeout

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

Timeout sets the timeout for this operation.

type CreateSearchIndexesResult

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

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

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

Comment sets a value to help trace an operation.

func (*Delete) Crypt

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

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

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

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

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

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

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

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

Comment sets a value to help trace an operation.

func (*Distinct) Crypt

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) Hint

func (d *Distinct) Hint(hint bsoncore.Value) *Distinct

Hint sets a value to help trace an operation.

func (*Distinct) Key

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

Key specifies which field to return distinct values for.

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

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

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

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

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

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

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

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

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

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

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

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) Result

func (di *DropIndexes) Result() DropIndexesResult

Result returns the result of executing this operation.

func (*DropIndexes) ServerAPI

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

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

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

DropSearchIndex performs an dropSearchIndex operation.

func NewDropSearchIndex

func NewDropSearchIndex(index string) *DropSearchIndex

NewDropSearchIndex constructs and returns a new DropSearchIndex.

func (*DropSearchIndex) Authenticator

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

Authenticator sets the authenticator to use for this operation.

func (*DropSearchIndex) ClusterClock

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

ClusterClock sets the cluster clock for this operation.

func (*DropSearchIndex) Collection

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

Collection sets the collection that this command will run against.

func (*DropSearchIndex) CommandMonitor

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

CommandMonitor sets the monitor to use for APM events.

func (*DropSearchIndex) Crypt

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

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

func (*DropSearchIndex) Database

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

Database sets the database to run this operation against.

func (*DropSearchIndex) Deployment

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

Deployment sets the deployment to use for this operation.

func (*DropSearchIndex) Execute

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

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

func (dsi *DropSearchIndex) Result() DropSearchIndexResult

Result returns the result of executing this operation.

func (*DropSearchIndex) ServerAPI

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

ServerAPI sets the server API version for this operation.

func (*DropSearchIndex) ServerSelector

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

ServerSelector sets the selector used to retrieve a server.

func (*DropSearchIndex) Session

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

Session sets the session for this operation.

func (*DropSearchIndex) Timeout

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

Timeout sets the timeout for this operation.

type DropSearchIndexResult

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

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

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

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

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

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 bsoncore.Value) *Find

Comment sets a value to help trace an operation.

func (*Find) Crypt

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

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

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) 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) OmitMaxTimeMS

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

OmitMaxTimeMS omits the automatically-calculated "maxTimeMS" from the command.

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

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

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

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

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

Comment sets a value to help trace an operation.

func (*FindAndModify) Crypt

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

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

Hint specifies the index to use.

func (*FindAndModify) Let

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

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

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

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

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

Hello is used to run the handshake operation.

func NewHello

func NewHello() *Hello

NewHello constructs a Hello.

func (*Hello) AppName

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

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

func (*Hello) Authenticator

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

Authenticator sets the authenticator to use for this operation.

func (*Hello) ClusterClock

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

ClusterClock sets the cluster clock for this operation.

func (*Hello) Compressors

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

Compressors sets the compressors that can be used.

func (*Hello) Deployment

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

Deployment sets the Deployment for this operation.

func (*Hello) Execute

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

Execute runs this operation.

func (*Hello) FinishHandshake

func (h *Hello) FinishHandshake(context.Context, *mnet.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

func (h *Hello) GetHandshakeInformation(ctx context.Context, _ address.Address, conn *mnet.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

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

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) OmitMaxTimeMS

func (h *Hello) OmitMaxTimeMS(val bool) *Hello

OmitMaxTimeMS will ensure maxTimMS is not included in the wire message constructed to send a hello request.

func (*Hello) OuterLibraryName

func (h *Hello) OuterLibraryName(name string) *Hello

OuterLibraryName specifies the name of the library wrapping the Go Driver.

func (*Hello) OuterLibraryPlatform

func (h *Hello) OuterLibraryPlatform(platform string) *Hello

OuterLibraryPlatform specifies the platform of the library wrapping the Go Driver.

func (*Hello) OuterLibraryVersion

func (h *Hello) OuterLibraryVersion(version string) *Hello

OuterLibraryVersion specifies the version of the library wrapping the Go Driver.

func (*Hello) Result

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

Result returns the result of executing this operation.

func (*Hello) SASLSupportedMechs

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

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

ServerAPI sets the server API version for this operation.

func (*Hello) SpeculativeAuthenticate

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

SpeculativeAuthenticate sets the document to be used for speculative authentication.

func (*Hello) StreamResponse

func (h *Hello) StreamResponse(ctx context.Context, conn *mnet.Connection) error

StreamResponse gets the next streaming Hello response from the server.

func (*Hello) TopologyVersion

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

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

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

Comment sets a value to help trace an operation.

func (*Insert) Crypt

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

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

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

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

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

Authenticator sets the authenticator to use for this operation.

func (*ListCollections) AuthorizedCollections

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

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

func (*ListCollections) BatchSize

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

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

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

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

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

Authenticator sets the authenticator to use for this operation.

func (*ListDatabases) AuthorizedDatabases

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

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

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

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

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

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) 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

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

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

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

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

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

Comment sets a value to help trace an operation.

func (*Update) Crypt

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

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

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

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

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

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

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

UpdateSearchIndex performs a updateSearchIndex operation.

func NewUpdateSearchIndex

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

NewUpdateSearchIndex constructs and returns a new UpdateSearchIndex.

func (*UpdateSearchIndex) Authenticator

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

Authenticator sets the authenticator to use for this operation.

func (*UpdateSearchIndex) ClusterClock

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

ClusterClock sets the cluster clock for this operation.

func (*UpdateSearchIndex) Collection

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

Collection sets the collection that this command will run against.

func (*UpdateSearchIndex) CommandMonitor

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

CommandMonitor sets the monitor to use for APM events.

func (*UpdateSearchIndex) Crypt

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

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

func (*UpdateSearchIndex) Database

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

Database sets the database to run this operation against.

func (*UpdateSearchIndex) Definition

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

Definition specifies the definition for the document being created.

func (*UpdateSearchIndex) Deployment

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

Deployment sets the deployment to use for this operation.

func (*UpdateSearchIndex) Execute

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

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

Index specifies the index of the document being updated.

func (*UpdateSearchIndex) Result

Result returns the result of executing this operation.

func (*UpdateSearchIndex) ServerAPI

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

ServerAPI sets the server API version for this operation.

func (*UpdateSearchIndex) ServerSelector

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

ServerSelector sets the selector used to retrieve a server.

func (*UpdateSearchIndex) Session

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

Session sets the session for this operation.

func (*UpdateSearchIndex) Timeout

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

Timeout sets the timeout for this operation.

type UpdateSearchIndexResult

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