mongodb

package
v0.7.3 Latest Latest
Warning

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

Go to latest
Published: Dec 8, 2024 License: GPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	FailedToCreateDocumentError         = errors.New("failed to create document")
	FailedToStartSessionError           = errors.New("failed to start session")
	FailedToCreateSingleFieldIndexError = errors.New("failed to create single field index")
	FailedToCreateCompoundIndexError    = errors.New("failed to create compound index")
	NilConfigError                      = errors.New("mongodb connection config cannot be nil")
	NilClientError                      = errors.New("mongodb client cannot be nil")
)

Functions

func CreateSession added in v0.6.17

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

CreateSession creates a new session

func CreateTransaction added in v0.6.17

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

CreateTransaction creates a new transaction

func CreateTransactionOptions added in v0.6.17

func CreateTransactionOptions() *options.TransactionOptions

CreateTransactionOptions creates the transaction options

func GetObjectIdFromString added in v0.6.12

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

GetObjectIdFromString gets the object ID from the string

func PrepareFindOneOptions added in v0.6.16

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

PrepareFindOneOptions prepares the find one options

func PrepareFindOptions added in v0.6.25

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

PrepareFindOptions prepares the find options

func PrepareUpdateOptions added in v0.6.25

func PrepareUpdateOptions(upsert bool) *options.UpdateOptions

PrepareUpdateOptions prepares the update options

Types

type Collection

type Collection struct {
	Name               string
	SingleFieldIndexes *[]*SingleFieldIndex
	CompoundIndexes    *[]*CompoundFieldIndex
}

Collection represents a MongoDB collection

func NewCollection

func NewCollection(
	name string, singleFieldIndexes *[]*SingleFieldIndex,
	compoundIndexes *[]*CompoundFieldIndex,
) *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 CompoundFieldIndex

type CompoundFieldIndex struct {
	Model *mongo.IndexModel
}

CompoundFieldIndex represents a compound field index

func NewCompoundFieldIndex

func NewCompoundFieldIndex(
	fieldIndexes []*FieldIndex, unique bool,
) *CompoundFieldIndex

NewCompoundFieldIndex creates a new compound field index

type Config

type Config struct {
	Uri     string
	Timeout time.Duration
}

Config struct

type ConnectionHandler

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

ConnectionHandler interface

type DefaultConnectionHandler

type DefaultConnectionHandler struct {
	Ctx           context.Context
	Cancel        context.CancelFunc
	ClientOptions *options.ClientOptions
	Client        *mongo.Client
}

DefaultConnectionHandler struct

func NewDefaultConnectionHandler

func NewDefaultConnectionHandler(config *Config) (*DefaultConnectionHandler, error)

NewDefaultConnectionHandler creates a new connection

func (DefaultConnectionHandler) Connect

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

Connect returns a new MongoDB client

func (DefaultConnectionHandler) Disconnect

func (d DefaultConnectionHandler) Disconnect()

Disconnect closes the MongoDB client connection

func (DefaultConnectionHandler) GetClient

func (d DefaultConnectionHandler) GetClient() (*mongo.Client, error)

GetClient returns the MongoDB client

type FieldIndex

type FieldIndex struct {
	Name  string
	Order Order
}

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

type SingleFieldIndex

type SingleFieldIndex struct {
	Model *mongo.IndexModel
}

func NewSingleFieldIndex

func NewSingleFieldIndex(fieldIndex FieldIndex, unique bool) *SingleFieldIndex

NewSingleFieldIndex creates a new single field index

Directories

Path Synopsis
model

Jump to

Keyboard shortcuts

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