Documentation
¶
Index ¶
- Variables
- func CreateSession(client *mongo.Client) (mongo.Session, error)
- func CreateTransaction(client *mongo.Client, queries func(sc mongo.SessionContext) error) error
- func CreateTransactionOptions() *options.TransactionOptions
- func GetObjectIdFromString(id string) (*primitive.ObjectID, error)
- func NewCompoundFieldIndex(fieldIndexes []*FieldIndex, unique bool) *mongo.IndexModel
- func NewTTLIndex(fieldName string, expireAfterSeconds int32) *mongo.IndexModel
- func NewUniqueIndex(fieldIndex FieldIndex, unique bool) *mongo.IndexModel
- func PrepareFindOneAndUpdateOptions(projection interface{}, sort interface{}, upsert bool, ...) *options.FindOneAndUpdateOptions
- func PrepareFindOneOptions(projection interface{}, sort interface{}) *options.FindOneOptions
- func PrepareFindOptions(projection interface{}, sort interface{}, limit int64, skip int64) *options.FindOptions
- func PrepareUpdateOptions(upsert bool) *options.UpdateOptions
- type Collection
- type Config
- type ConnectionHandler
- type DefaultConnectionHandler
- type FieldIndex
- type Order
Constants ¶
This section is empty.
Variables ¶
var ( ErrFailedToCreateDocument = errors.New("failed to create document") ErrFailedToStartSession = errors.New("failed to start session") ErrFailedToCreateIndex = "failed to create index '%v': %v" ErrNilConfig = errors.New("mongodb connection config cannot be nil") ErrNilClient = errors.New("mongodb client cannot be nil") )
Functions ¶
func CreateSession ¶
CreateSession creates a new session
func CreateTransaction ¶
CreateTransaction creates a new transaction
func CreateTransactionOptions ¶
func CreateTransactionOptions() *options.TransactionOptions
CreateTransactionOptions creates the transaction options
func GetObjectIdFromString ¶
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 { Name string Indexes *[]*mongo.IndexModel }
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 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
type FieldIndex ¶
func NewFieldIndex ¶
func NewFieldIndex(name string, order Order) *FieldIndex
NewFieldIndex creates a new field index