mongo

package
v0.0.47 Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Aggregate

func Aggregate[T any](ctx context.Context, coll *mongo.Collection, pipeline any, opts ...*options.AggregateOptions) ([]T, error)

func CheckMongo

func CheckMongo(ctx context.Context, config *Config) error

CheckMongo tests the MongoDB connection without retries.

func Count

func Count(ctx context.Context, coll *mongo.Collection, filter any, opts ...*options.CountOptions) (int64, error)

func DecodeOne

func DecodeOne[T any](decoder func(v any) error) (res T, err error)

func Decodes

func Decodes[T any](ctx context.Context, cur *mongo.Cursor) ([]T, error)

func DeleteMany

func DeleteMany(ctx context.Context, coll *mongo.Collection, filter any, opts ...*options.DeleteOptions) error

func DeleteOne

func DeleteOne(ctx context.Context, coll *mongo.Collection, filter any, opts ...*options.DeleteOptions) error

func Exist

func Exist(ctx context.Context, coll *mongo.Collection, filter any, opts ...*options.CountOptions) (bool, error)

func Find

func Find[T any](ctx context.Context, coll *mongo.Collection, filter any, opts ...*options.FindOptions) ([]T, error)

func FindOne

func FindOne[T any](ctx context.Context, coll *mongo.Collection, filter any, opts ...*options.FindOneOptions) (res T, err error)

func FindOneAndUpdate

func FindOneAndUpdate[T any](ctx context.Context, coll *mongo.Collection, filter any, update any, opts ...*options.FindOneAndUpdateOptions) (res T, err error)

func FindPage

func FindPage[T any](ctx context.Context, coll *mongo.Collection, filter any, pagination pagination.Pagination, opts ...*options.FindOptions) (int64, []T, error)

func FindPageOnly

func FindPageOnly[T any](ctx context.Context, coll *mongo.Collection, filter any, pagination pagination.Pagination, opts ...*options.FindOptions) ([]T, error)

func InsertMany

func InsertMany[T any](ctx context.Context, coll *mongo.Collection, val []T, opts ...*options.InsertManyOptions) error

func NewMongo

func NewMongo(client *mongo.Client) db.CtxTx

func UpdateMany

func UpdateMany(ctx context.Context, coll *mongo.Collection, filter any, update any, opts ...*options.UpdateOptions) (*mongo.UpdateResult, error)

func UpdateOne

func UpdateOne(ctx context.Context, coll *mongo.Collection, filter any, update any, notMatchedErr bool, opts ...*options.UpdateOptions) error

func UpdateOneResult

func UpdateOneResult(ctx context.Context, coll *mongo.Collection, filter any, update any, opts ...*options.UpdateOptions) (*mongo.UpdateResult, error)

Types

type Client added in v0.0.47

type Client struct {
	Client *mongo.Client
	Config *Config
}

MongoDB represents a MongoDB client.

func NewMongoDB

func NewMongoDB(ctx context.Context, config *Config) (*Client, error)

NewMongoDB initializes a new MongoDB connection.

type Config added in v0.0.47

type Config struct {
	Uri         string
	Address     []string
	Database    string
	Username    string
	Password    string
	MaxPoolSize int
	MaxRetry    int
	ConnTimeout time.Duration
}

MongoConfig represents the MongoDB configuration.

func (*Config) ValidateAndSetDefaults added in v0.0.47

func (c *Config) ValidateAndSetDefaults() error

ValidateAndSetDefaults validates the configuration and sets default values.

Jump to

Keyboard shortcuts

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