Documentation ¶
Index ¶
- func UnWrapClient(cl Client) *mongo.Client
- func UnWrapCollection(co Collection) *mongo.Collection
- func UnWrapDatabase(db Database) *mongo.Database
- func UnWrapSession(ss Session) mongo.Session
- func WithSession(ctx context.Context, sess Session, fn func(sc SessionContext) error) error
- type ChangeStream
- type Client
- type Collection
- type Cursor
- type Database
- type IndexView
- type Session
- type SessionContext
- type SingleResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func UnWrapClient ¶ added in v1.0.0
UnWrapClient returns original mongo.Client
func UnWrapCollection ¶ added in v1.8.2
func UnWrapCollection(co Collection) *mongo.Collection
UnWrapCollection returns original mongo.Collection
func UnWrapDatabase ¶ added in v1.8.2
UnWrapDatabase returns original mongo.Database
func UnWrapSession ¶ added in v1.8.2
UnWrapSession returns original mongo.Session
func WithSession ¶
WithSession is a wrapper for `mongo.WithSession` function to call then `mongo.WithSession` function Documentation: https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo#WithSession
Types ¶
type ChangeStream ¶
type ChangeStream interface { Current() bson.Raw Close(ctx context.Context) error Decode(val interface{}) error Err() error ID() int64 Next(ctx context.Context) bool ResumeToken() bson.Raw TryNext(ctx context.Context) bool }
ChangeStream is an interface for `mongo.ChangeStream` structure Documentation: https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo#ChangeStream
type Client ¶
type Client interface { Connect(ctx context.Context) error Database(name string, opts ...*options.DatabaseOptions) Database Disconnect(ctx context.Context) error ListDatabaseNames(ctx context.Context, filter interface{}, opts ...*options.ListDatabasesOptions) ([]string, error) ListDatabases( ctx context.Context, filter interface{}, opts ...*options.ListDatabasesOptions, ) (mongo.ListDatabasesResult, error) NumberSessionsInProgress() int Ping(ctx context.Context, rp *readpref.ReadPref) error StartSession(opts ...*options.SessionOptions) (Session, error) Timeout() *time.Duration UseSession(ctx context.Context, fn func(sc SessionContext) error) error UseSessionWithOptions(ctx context.Context, opts *options.SessionOptions, fn func(sc SessionContext) error) error Watch( ctx context.Context, pipeline interface{}, opts ...*options.ChangeStreamOptions, ) (ChangeStream, error) }
Client is an interface for `mongo.Client` structure Documentation: https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo#Client
func Connect ¶
Connect is a wrapper for `mongo.Connect` function to return the object as `Client` interface Documentation: https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo#Connect
func NewClient ¶
func NewClient(opts ...*options.ClientOptions) (Client, error)
NewClient is a wrapper for `mongo.NewClient` function to return the object as `Client` interface Documentation: https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo#NewClient
func WrapClient ¶
WrapClient returns an instance of Client interface for given mongo.Client object
type Collection ¶
type Collection interface { Aggregate(ctx context.Context, pipeline interface{}, opts ...*options.AggregateOptions) (Cursor, error) BulkWrite( ctx context.Context, models []mongo.WriteModel, opts ...*options.BulkWriteOptions, ) (*mongo.BulkWriteResult, error) Clone(opts ...*options.CollectionOptions) (Collection, error) CountDocuments(ctx context.Context, filter interface{}, opts ...*options.CountOptions) (int64, error) Database() Database DeleteMany(ctx context.Context, filter interface{}, opts ...*options.DeleteOptions) (*mongo.DeleteResult, error) DeleteOne(ctx context.Context, filter interface{}, opts ...*options.DeleteOptions) (*mongo.DeleteResult, error) Distinct( ctx context.Context, fieldName string, filter interface{}, opts ...*options.DistinctOptions, ) ([]interface{}, error) Drop(ctx context.Context) error EstimatedDocumentCount(ctx context.Context, opts ...*options.EstimatedDocumentCountOptions) (int64, error) Find(ctx context.Context, filter interface{}, opts ...*options.FindOptions) (Cursor, error) FindOne(ctx context.Context, filter interface{}, opts ...*options.FindOneOptions) SingleResult FindOneAndDelete(ctx context.Context, filter interface{}, opts ...*options.FindOneAndDeleteOptions) SingleResult FindOneAndReplace( ctx context.Context, filter interface{}, replacement interface{}, opts ...*options.FindOneAndReplaceOptions, ) SingleResult FindOneAndUpdate( ctx context.Context, filter interface{}, update interface{}, opts ...*options.FindOneAndUpdateOptions, ) SingleResult Indexes() IndexView InsertMany( ctx context.Context, documents []interface{}, opts ...*options.InsertManyOptions, ) (*mongo.InsertManyResult, error) InsertOne( ctx context.Context, document interface{}, opts ...*options.InsertOneOptions, ) (*mongo.InsertOneResult, error) Name() string ReplaceOne( ctx context.Context, filter interface{}, replacement interface{}, opts ...*options.ReplaceOptions, ) (*mongo.UpdateResult, error) UpdateByID( ctx context.Context, id interface{}, update interface{}, opts ...*options.UpdateOptions, ) (*mongo.UpdateResult, error) UpdateMany( ctx context.Context, filter interface{}, update interface{}, opts ...*options.UpdateOptions, ) (*mongo.UpdateResult, error) UpdateOne( ctx context.Context, filter interface{}, update interface{}, opts ...*options.UpdateOptions, ) (*mongo.UpdateResult, error) Watch(ctx context.Context, pipeline interface{}, opts ...*options.ChangeStreamOptions) (ChangeStream, error) }
Collection is an interface for `mongo.Collection` structure Documentation: https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo#Collection
func WrapCollection ¶ added in v1.8.2
func WrapCollection(co *mongo.Collection) Collection
WrapCollection returns an instance of Collection interface for given mongo.Collection object
type Cursor ¶
type Cursor interface { Current() bson.Raw All(ctx context.Context, results interface{}) error Close(ctx context.Context) error Decode(val interface{}) error Err() error ID() int64 Next(ctx context.Context) bool RemainingBatchLength() int TryNext(ctx context.Context) bool }
Cursor is an interface for `mongo.Cursor` structure Documentation: https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo#Cursor
func NewCursorFromDocuments ¶ added in v1.9.0
func NewCursorFromDocuments(documents []interface{}, err error, registry *bsoncodec.Registry) (Cursor, error)
NewCursorFromDocuments is a wrapper for NewCursorFromDocuments function of the mongodb to return Cursor https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo#NewCursorFromDocuments
type Database ¶
type Database interface { Aggregate(ctx context.Context, pipeline interface{}, opts ...*options.AggregateOptions) (Cursor, error) Client() Client Collection(name string, opts ...*options.CollectionOptions) Collection CreateCollection(ctx context.Context, name string, opts ...*options.CreateCollectionOptions) error CreateView( ctx context.Context, viewName, viewOn string, pipeline interface{}, opts ...*options.CreateViewOptions, ) error Drop(ctx context.Context) error ListCollectionNames( ctx context.Context, filter interface{}, opts ...*options.ListCollectionsOptions, ) ([]string, error) ListCollections(ctx context.Context, filter interface{}, opts ...*options.ListCollectionsOptions) (Cursor, error) ListCollectionSpecifications( ctx context.Context, filter interface{}, opts ...*options.ListCollectionsOptions, ) ([]*mongo.CollectionSpecification, error) Name() string ReadConcern() *readconcern.ReadConcern ReadPreference() *readpref.ReadPref RunCommand(ctx context.Context, runCommand interface{}, opts ...*options.RunCmdOptions) SingleResult RunCommandCursor(ctx context.Context, runCommand interface{}, opts ...*options.RunCmdOptions) (Cursor, error) Watch( ctx context.Context, pipeline interface{}, opts ...*options.ChangeStreamOptions, ) (ChangeStream, error) WriteConcern() *writeconcern.WriteConcern }
Database is an interface for `mongo.Database` structure Documentation: https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo#Database
func WrapDatabase ¶ added in v1.8.2
WrapDatabase returns an instance of Database interface for given mongo.Database object
type IndexView ¶
type IndexView interface { CreateMany(ctx context.Context, models []mongo.IndexModel, opts ...*options.CreateIndexesOptions) ([]string, error) CreateOne(ctx context.Context, model mongo.IndexModel, opts ...*options.CreateIndexesOptions) (string, error) DropAll(ctx context.Context, opts ...*options.DropIndexesOptions) (bson.Raw, error) DropOne(ctx context.Context, name string, opts ...*options.DropIndexesOptions) (bson.Raw, error) List(ctx context.Context, opts ...*options.ListIndexesOptions) (Cursor, error) ListSpecifications(ctx context.Context, opts ...*options.ListIndexesOptions) ([]*mongo.IndexSpecification, error) }
IndexView is an interface for `mongo.IndexView` structure Documentation: https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo#IndexView
type Session ¶
type Session interface { StartTransaction(opts ...*options.TransactionOptions) error AbortTransaction(ctx context.Context) error CommitTransaction(ctx context.Context) error WithTransaction( ctx context.Context, fn func(sc SessionContext) (interface{}, error), opts ...*options.TransactionOptions, ) (interface{}, error) EndSession(ctx context.Context) ClusterTime() bson.Raw OperationTime() *primitive.Timestamp Client() Client ID() bson.Raw AdvanceClusterTime(bson.Raw) error AdvanceOperationTime(*primitive.Timestamp) error }
Session is an interface for `mongo.Session` structure Documentation: https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo#Session
func SessionFromContext ¶ added in v1.10.1
SessionFromContext for `mongo.SessionFromContext` Documentation: https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo#SessionFromContext
func WrapSession ¶ added in v1.8.2
WrapSession returns an instance of Session interface for given mongo.Session object
type SessionContext ¶ added in v1.0.0
SessionContext is an interface emulates `mongo.SessionContext` Documentation: https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo#SessionContext
func NewSessionContext ¶ added in v1.10.1
func NewSessionContext(ctx context.Context, sess Session) SessionContext
NewSessionContext is wrapper for `mongo.NewSessionContext` Documentation: https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo#NewSessionContext
type SingleResult ¶
type SingleResult interface { Decode(v interface{}) error DecodeBytes() (bson.Raw, error) Err() error }
SingleResult is an interface for `mongo.SingleResult` structure Documentation: https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo#SingleResult
func NewSingleResultFromDocument ¶ added in v1.9.0
func NewSingleResultFromDocument(document interface{}, err error, registry *bsoncodec.Registry) SingleResult
NewSingleResultFromDocument is a wrapper for NewSingleResultFromDocument function of the mongodb to return SingleResult https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo#NewSingleResultFromDocument