mongodb

package
v0.5.6 Latest Latest
Warning

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

Go to latest
Published: Jan 28, 2025 License: GPL-3.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrFailedToCreateDocument = errors.New("failed to create document")
	ErrFailedToStartSession   = errors.New("failed to start session")
	ErrFailedToCreateIndex    = "failed to create index '%v': %v"
	ErrNilClient              = errors.New("mongodb client cannot be nil")
)

Functions

func CreateSession

func CreateSession(client *mongo.Client) (mongo.Session, error)

CreateSession creates a new session

func CreateTransaction

func CreateTransaction(
	client *mongo.Client,
	queries func(sc mongo.SessionContext) error,
) error

CreateTransaction creates a new transaction

func CreateTransactionOptions

func CreateTransactionOptions() *options.TransactionOptions

CreateTransactionOptions creates the transaction options

func GetObjectIdFromString

func GetObjectIdFromString(id string) (*primitive.ObjectID, error)

GetObjectIdFromString gets the object ID from the string

func NewCompoundFieldIndex

func NewCompoundFieldIndex(
	fieldIndexes []*FieldIndex, unique bool,
) *mongo.IndexModel

NewCompoundFieldIndex creates a new compound field index model

func NewTTLIndex

func NewTTLIndex(fieldName string, expireAfterSeconds int32) *mongo.IndexModel

NewTTLIndex creates a new TTL index model

func NewUniqueIndex

func NewUniqueIndex(fieldIndex FieldIndex, unique bool) *mongo.IndexModel

NewUniqueIndex creates a new unique field index model

func PrepareFindOneAndUpdateOptions added in v0.2.0

func PrepareFindOneAndUpdateOptions(
	projection interface{},
	sort interface{},
	upsert bool,
	returnDocument options.ReturnDocument,
) *options.FindOneAndUpdateOptions

PrepareFindOneAndUpdateOptions prepares the find one and update options

func PrepareFindOneOptions

func PrepareFindOneOptions(projection interface{}, sort interface{}) *options.FindOneOptions

PrepareFindOneOptions prepares the find one options

func PrepareFindOptions

func PrepareFindOptions(projection interface{}, sort interface{}, limit int64, skip int64) *options.FindOptions

PrepareFindOptions prepares the find options

func PrepareUpdateOptions

func PrepareUpdateOptions(upsert bool) *options.UpdateOptions

PrepareUpdateOptions prepares the update options

Types

type Collection

type Collection struct {
	Indexes *[]*mongo.IndexModel
	// contains filtered or unexported fields
}

Collection represents a MongoDB collection

func NewCollection

func NewCollection(
	name string,
	indexes *[]*mongo.IndexModel,
) *Collection

NewCollection creates a new MongoDB collection

func (*Collection) CreateCollection

func (c *Collection) CreateCollection(database *mongo.Database) (
	collection *mongo.Collection, err error,
)

CreateCollection creates the collection

type Config

type Config interface {
	URI() string
	Timeout() time.Duration
}

Config interface

type ConnConfig added in v0.5.0

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

ConnConfig struct

func NewConnConfig added in v0.5.0

func NewConnConfig(uri string, timeout time.Duration) *ConnConfig

NewConnConfig creates a new MongoDB connection configuration

func (*ConnConfig) Timeout added in v0.5.0

func (c *ConnConfig) Timeout() time.Duration

Timeout returns the MongoDB connection timeout

func (*ConnConfig) URI added in v0.5.0

func (c *ConnConfig) URI() string

URI returns the MongoDB URI

type ConnHandler added in v0.5.0

type ConnHandler interface {
	Connect() (*mongo.Client, error)
	Client() (*mongo.Client, error)
	Disconnect()
}

ConnHandler interface

type DefaultConnHandler added in v0.5.0

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

DefaultConnHandler struct

func NewDefaultConnHandler added in v0.5.0

func NewDefaultConnHandler(config Config) (
	*DefaultConnHandler,
	error,
)

NewDefaultConnHandler creates a new connection

func (*DefaultConnHandler) Client added in v0.5.0

func (d *DefaultConnHandler) Client() (*mongo.Client, error)

Client returns the MongoDB client

func (*DefaultConnHandler) Connect added in v0.5.0

func (d *DefaultConnHandler) Connect() (*mongo.Client, error)

Connect returns a new MongoDB client

func (*DefaultConnHandler) Disconnect added in v0.5.0

func (d *DefaultConnHandler) Disconnect()

Disconnect closes the MongoDB client connection

type FieldIndex

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

func NewFieldIndex

func NewFieldIndex(name string, order Order) *FieldIndex

NewFieldIndex creates a new field index

type Order

type Order int

Order represents the order of the index

const (
	// Ascending order
	Ascending Order = 1

	// Descending order
	Descending Order = -1
)

func (Order) OrderInt

func (o Order) OrderInt() int

OrderInt converts the Order type to an integer

Jump to

Keyboard shortcuts

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