Documentation
¶
Index ¶
- func DefaultMongoClientOptions(opts MongoClientOptions) *options.ClientOptions
- func NewMongoClient(ctx context.Context, retryOpts helper.RetryOptions, opts options.ClientOptions) (contract.MongoClient, error)
- type Blackbox
- type Client
- type ClientOption
- type ClientOptions
- type DefaultTool
- func (d *DefaultTool) Close(ctx context.Context) error
- func (d *DefaultTool) Collection(ctx context.Context, db, collection string) (contract.MongoCollection, error)
- func (d *DefaultTool) CombineM(ctx context.Context, op contract.BSONOperator, m ...bson.M) (bson.M, error)
- func (d *DefaultTool) Database(ctx context.Context, db string) (contract.MongoDatabase, error)
- func (d *DefaultTool) Filter(ctx context.Context, opts contract.FilterOptions) (bson.M, error)
- func (d *DefaultTool) FilterByAllElemsInArray(ctx context.Context, opts contract.ElemsInArrayFilterOptions) (bson.M, error)
- func (d *DefaultTool) FilterByElemMatch(ctx context.Context, opts contract.ElemMatchFilterOptions) (bson.M, error)
- func (d *DefaultTool) FilterByElemsInArray(ctx context.Context, opts contract.ElemsInArrayFilterOptions) (bson.M, error)
- func (d *DefaultTool) FilterByExactDate(ctx context.Context, opts contract.DateFilterOptions) (bson.D, error)
- func (d *DefaultTool) FilterByFieldInArray(ctx context.Context, opts contract.FieldInArrayFilterOptions) (bson.M, error)
- func (d *DefaultTool) FilterByFutureDate(ctx context.Context, opts contract.DateFilterOptions) (bson.D, error)
- func (d *DefaultTool) FilterByPastDate(ctx context.Context, opts contract.DateFilterOptions) (bson.D, error)
- func (d *DefaultTool) ProcessChangeStream(ctx context.Context, opts contract.ProcessChangeStreamOptions) error
- func (d *DefaultTool) RunPipeline(ctx context.Context, opts contract.RunPipelineOptions) ([]any, error)
- func (d *DefaultTool) Search(ctx context.Context, opts contract.SearchOptions) (*contract.SearchResult, error)
- func (d *DefaultTool) WatchCollection(ctx context.Context, opts contract.WatchCollectionOptions) error
- func (d *DefaultTool) WatchDB(ctx context.Context, opts contract.WatchDBOptions) error
- func (d *DefaultTool) WithTransaction(ctx context.Context, fn func(ctx context.Context) error) error
- type Dependencies
- type MongoClientOptions
- type Registrars
- type Tool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultMongoClientOptions ¶
func DefaultMongoClientOptions(opts MongoClientOptions) *options.ClientOptions
func NewMongoClient ¶
func NewMongoClient(ctx context.Context, retryOpts helper.RetryOptions, opts options.ClientOptions) (contract.MongoClient, error)
Types ¶
type Client ¶
type Client interface {
Blackbox
contract.DBOperator
contract.MongoOperator
}
func NewClient ¶
func NewClient(ctx context.Context, d Dependencies, opts ClientOptions) (Client, error)
func NewNoopClient ¶ added in v0.1.83
func NewNoopClient() Client
type ClientOption ¶ added in v0.1.38
type ClientOption func(*ClientOptions)
func WithCreateCollections ¶ added in v0.1.38
func WithCreateCollections(x ...contract.CreateCollectionsOptions) ClientOption
func WithCreateIndexes ¶ added in v0.1.38
func WithCreateIndexes(x ...contract.CreateIndexesOptions) ClientOption
func WithCreateSearchIndexes ¶ added in v0.1.38
func WithCreateSearchIndexes(x ...contract.CreateSearchIndexesOptions) ClientOption
func WithDB ¶ added in v0.1.44
func WithDB(x string) ClientOption
type ClientOptions ¶ added in v0.1.38
type ClientOptions struct {
DB string
Collections []contract.CreateCollectionsOptions
Indexes []contract.CreateIndexesOptions
SearchIndexes []contract.CreateSearchIndexesOptions
}
func ApplyClientOptions ¶ added in v0.1.38
func ApplyClientOptions(opts *ClientOptions, modifiers ...ClientOption) ClientOptions
type DefaultTool ¶ added in v0.1.11
NOTE: All methods from contract.DBOperator are implemented by the client, but they are not exposed in the Tool. Instead, those methods are exposed in the Tool of the package db.
func NewTool ¶
func NewTool(c Client, opts contract.ToolOptions[Client]) *DefaultTool
func (*DefaultTool) Close ¶ added in v0.1.13
func (d *DefaultTool) Close(ctx context.Context) error
Close closes the underlying client.
func (*DefaultTool) Collection ¶ added in v0.1.43
func (d *DefaultTool) Collection(ctx context.Context, db, collection string) (contract.MongoCollection, error)
Collection returns a MongoDB collection handle for the specified database and collection name.
func (*DefaultTool) CombineM ¶ added in v0.1.11
func (d *DefaultTool) CombineM(ctx context.Context, op contract.BSONOperator, m ...bson.M) (bson.M, error)
CombineM combines multiple bson.M into a single bson.M using the given operator.
func (*DefaultTool) Database ¶ added in v0.1.43
func (d *DefaultTool) Database(ctx context.Context, db string) (contract.MongoDatabase, error)
Database returns a MongoDB database handle for the specified database name.
func (*DefaultTool) Filter ¶ added in v0.1.11
func (d *DefaultTool) Filter(ctx context.Context, opts contract.FilterOptions) (bson.M, error)
Filter constructs a BSON filter based on query parameters and filtering options.
func (*DefaultTool) FilterByAllElemsInArray ¶ added in v0.1.11
func (d *DefaultTool) FilterByAllElemsInArray(ctx context.Context, opts contract.ElemsInArrayFilterOptions) (bson.M, error)
FilterByAllElemsInArray matches documents where an array contains all specified elements at minimum.
func (*DefaultTool) FilterByElemMatch ¶ added in v0.1.11
func (d *DefaultTool) FilterByElemMatch(ctx context.Context, opts contract.ElemMatchFilterOptions) (bson.M, error)
FilterByElemMatch finds documents where an array field contains a specific element.
func (*DefaultTool) FilterByElemsInArray ¶ added in v0.1.11
func (d *DefaultTool) FilterByElemsInArray(ctx context.Context, opts contract.ElemsInArrayFilterOptions) (bson.M, error)
FilterByElemsInArray finds documents where an array field contains any of the specified elements.
func (*DefaultTool) FilterByExactDate ¶ added in v0.1.11
func (d *DefaultTool) FilterByExactDate(ctx context.Context, opts contract.DateFilterOptions) (bson.D, error)
FilterByExactDate constructs a MongoDB filter to match documents with an exact date. It matches documents where a given date field is exactly equal to a specified reference date.
func (*DefaultTool) FilterByFieldInArray ¶ added in v0.1.11
func (d *DefaultTool) FilterByFieldInArray(ctx context.Context, opts contract.FieldInArrayFilterOptions) (bson.M, error)
FilterByFieldInArray matches documents where a field contains one of the specified elements.
func (*DefaultTool) FilterByFutureDate ¶ added in v0.1.11
func (d *DefaultTool) FilterByFutureDate(ctx context.Context, opts contract.DateFilterOptions) (bson.D, error)
FilterByFutureDate constructs a MongoDB filter to match documents with a future date. It matches documents where a given date field is after a specified reference date.
func (*DefaultTool) FilterByPastDate ¶ added in v0.1.11
func (d *DefaultTool) FilterByPastDate(ctx context.Context, opts contract.DateFilterOptions) (bson.D, error)
FilterByPastDate constructs a MongoDB filter to match documents with a past date. It matches documents where a given date field is before a specified reference date.
func (*DefaultTool) ProcessChangeStream ¶ added in v0.1.11
func (d *DefaultTool) ProcessChangeStream(ctx context.Context, opts contract.ProcessChangeStreamOptions) error
ProcessChangeStream processes a MongoDB change stream and sends updates to an output channel.
func (*DefaultTool) RunPipeline ¶ added in v0.1.79
func (d *DefaultTool) RunPipeline(ctx context.Context, opts contract.RunPipelineOptions) ([]any, error)
RunPipeline executes a custom aggregation pipeline and returns decoded results.
func (*DefaultTool) Search ¶ added in v0.1.11
func (d *DefaultTool) Search(ctx context.Context, opts contract.SearchOptions) (*contract.SearchResult, error)
Search executes a search query and returns matching documents with pagination support.
func (*DefaultTool) WatchCollection ¶ added in v0.1.11
func (d *DefaultTool) WatchCollection(ctx context.Context, opts contract.WatchCollectionOptions) error
WatchCollection listens for changes in a specific collection and streams updates.
func (*DefaultTool) WatchDB ¶ added in v0.1.11
func (d *DefaultTool) WatchDB(ctx context.Context, opts contract.WatchDBOptions) error
WatchDB listens for changes across an entire database and streams updates.
func (*DefaultTool) WithTransaction ¶ added in v0.1.34
func (d *DefaultTool) WithTransaction(ctx context.Context, fn func(ctx context.Context) error) error
WithTransaction runs a function within a MongoDB transaction.
type Dependencies ¶ added in v0.1.8
type Dependencies struct {
C contract.MongoClient
S contract.StringOperator
}
type MongoClientOptions ¶ added in v0.1.14
type Registrars ¶ added in v0.1.317
type Tool ¶ added in v0.1.245
type Tool interface {
contract.MongoOperator
}