Documentation
¶
Index ¶
- func DefaultMongoClientOptions(connString, appName string, maxPoolSize uint64, ...) *options.ClientOptions
- func NewMongoClient(ctx context.Context, retryOpts helper.RetryOptions, opts options.ClientOptions) (contract.MongoClient, error)
- type Blackbox
- type Client
- type DefaultTool
- func (d *DefaultTool) CombineM(ctx context.Context, op contract.BSONOperator, m ...bson.M) bson.M
- func (d *DefaultTool) CreateCollections(ctx context.Context, db string, collections ...string) error
- func (d *DefaultTool) CreateIndexes(ctx context.Context, db, collection string, indexes []contract.IndexEntry) error
- func (d *DefaultTool) CreateSearchIndexes(ctx context.Context, db, collection string, ...) 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
- func (d *DefaultTool) FilterByElemMatch(ctx context.Context, opts contract.ElemMatchFilterOptions) bson.M
- func (d *DefaultTool) FilterByElemsInArray(ctx context.Context, opts contract.ElemsInArrayFilterOptions) bson.M
- func (d *DefaultTool) FilterByExactDate(ctx context.Context, opts contract.DateFilterOptions) bson.D
- func (d *DefaultTool) FilterByFieldInArray(ctx context.Context, opts contract.FieldInArrayFilterOptions) bson.M
- func (d *DefaultTool) FilterByFutureDate(ctx context.Context, opts contract.DateFilterOptions) bson.D
- func (d *DefaultTool) FilterByPastDate(ctx context.Context, opts contract.DateFilterOptions) bson.D
- func (d *DefaultTool) NewTransactionSession(ctx context.Context) (context.Context, error)
- func (d *DefaultTool) ProcessChangeStream(ctx context.Context, opts contract.ProcessChangeStreamOptions) error
- func (d *DefaultTool) Search(ctx context.Context, opts contract.SearchOptions) (*contract.RespSearch, error)
- func (d *DefaultTool) WatchCollection(ctx context.Context, opts contract.WatchCollectionOptions) error
- func (d *DefaultTool) WatchDB(ctx context.Context, opts contract.WatchDBOptions) error
- type Dependencies
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
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(d Dependencies) (Client, error)
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) CombineM ¶ added in v0.1.11
func (d *DefaultTool) CombineM(ctx context.Context, op contract.BSONOperator, m ...bson.M) bson.M
CombineM combines multiple bson.M into a single bson.M using the given operator.
func (*DefaultTool) CreateCollections ¶ added in v0.1.11
func (d *DefaultTool) CreateCollections(ctx context.Context, db string, collections ...string) error
CreateCollections initializes new collections within the specified database.
func (*DefaultTool) CreateIndexes ¶ added in v0.1.11
func (d *DefaultTool) CreateIndexes(ctx context.Context, db, collection string, indexes []contract.IndexEntry) error
CreateIndexes adds indexes to a collection to optimize query performance.
func (*DefaultTool) CreateSearchIndexes ¶ added in v0.1.11
func (d *DefaultTool) CreateSearchIndexes(ctx context.Context, db, collection string, indexes []contract.SearchIndexEntry) error
CreateSearchIndexes creates search-specific indexes for efficient text or vector-based queries.
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
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
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
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
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
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
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
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) NewTransactionSession ¶ added in v0.1.11
NewTransactionSession starts a new session with a transaction.
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) Search ¶ added in v0.1.11
func (d *DefaultTool) Search(ctx context.Context, opts contract.SearchOptions) (*contract.RespSearch, 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.
type Dependencies ¶ added in v0.1.8
type Dependencies struct {
C contract.MongoClient
}