mongodb

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2020 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewMonitorEvent

func NewMonitorEvent(options ...EventOption) *monitorEvent

func NewSpyEvent

func NewSpyEvent(logger log.Logger) *spyEvent

Types

type EventOption

type EventOption func(c *monitorEvent)

type MgoClient

type MgoClient struct {
	Mgos map[string]*mongo.Client
	// contains filtered or unexported fields
}

func NewMongo

func NewMongo(options ...Option) *MgoClient

func (*MgoClient) Close

func (this *MgoClient) Close()

func (*MgoClient) GetColl

func (this *MgoClient) GetColl(dataBase, coll string) *mongo.Collection

func (*MgoClient) GetCtx

func (this *MgoClient) GetCtx(ctx context.Context) context.Context

mongodb 的上下文

func (*MgoClient) Ping

func (this *MgoClient) Ping() []error

type MgoClientOptions

type MgoClientOptions struct{}

func (MgoClientOptions) WithConf

func (MgoClientOptions) WithConf(conf config.Config) Option

func (MgoClientOptions) WithDbConfig

func (MgoClientOptions) WithDbConfig(dbConfigs []MgoConfig) Option

func (MgoClientOptions) WithLogger

func (MgoClientOptions) WithLogger(logger log.Logger) Option

func (MgoClientOptions) WithMonitorEvent

func (MgoClientOptions) WithMonitorEvent(mongoEvent ...func() MonitorEvent) Option

type MgoConfig

type MgoConfig struct {
	Db  string `json:"db",yaml:"db"`
	Uri string `json:"uri",yaml:"uri"`
}

type Mongo

type Mongo interface {
	Clone(opts ...*options.CollectionOptions) (*mongo.Collection, error)

	Name() string

	Database() *mongo.Database

	BulkWrite(ctx context.Context, models []mongo.WriteModel,
		opts ...*options.BulkWriteOptions) (*mongo.BulkWriteResult, error)

	InsertOne(ctx context.Context, document interface{},
		opts ...*options.InsertOneOptions) (*mongo.InsertOneResult, error)

	InsertMany(ctx context.Context, documents []interface{},
		opts ...*options.InsertManyOptions) (*mongo.InsertManyResult, error)

	DeleteOne(ctx context.Context, filter interface{},
		opts ...*options.DeleteOptions) (*mongo.DeleteResult, error)

	DeleteMany(ctx context.Context, filter interface{},
		opts ...*options.DeleteOptions) (*mongo.DeleteResult, error)

	UpdateOne(ctx context.Context, filter interface{}, update interface{},
		opts ...*options.UpdateOptions) (*mongo.UpdateResult, error)

	UpdateMany(ctx context.Context, filter interface{}, update interface{},
		opts ...*options.UpdateOptions) (*mongo.UpdateResult, error)

	ReplaceOne(ctx context.Context, filter interface{},
		replacement interface{}, opts ...*options.ReplaceOptions) (*mongo.UpdateResult, error)

	Aggregate(ctx context.Context, pipeline interface{},
		opts ...*options.AggregateOptions) (*mongo.Cursor, error)

	CountDocuments(ctx context.Context, filter interface{},
		opts ...*options.CountOptions) (int64, error)

	EstimatedDocumentCount(ctx context.Context,
		opts ...*options.EstimatedDocumentCountOptions) (int64, error)

	Distinct(ctx context.Context, fieldName string, filter interface{},
		opts ...*options.DistinctOptions) ([]interface{}, error)

	Find(ctx context.Context, filter interface{},
		opts ...*options.FindOptions) (*mongo.Cursor, error)

	FindOne(ctx context.Context, filter interface{},
		opts ...*options.FindOneOptions) *mongo.SingleResult

	FindOneAndDelete(ctx context.Context, filter interface{},
		opts ...*options.FindOneAndDeleteOptions) *mongo.SingleResult

	FindOneAndReplace(ctx context.Context, filter interface{},
		replacement interface{}, opts ...*options.FindOneAndReplaceOptions) *mongo.SingleResult

	FindOneAndUpdate(ctx context.Context, filter interface{},
		update interface{}, opts ...*options.FindOneAndUpdateOptions) *mongo.SingleResult

	Watch(ctx context.Context, pipeline interface{},
		opts ...*options.ChangeStreamOptions) (*mongo.ChangeStream, error)

	Indexes() mongo.IndexView

	Drop(ctx context.Context) error
}

type MonitorEvent

type MonitorEvent interface {
	NextEvent(MonitorEvent)

	EventName() string

	Start(context.Context, *event.CommandStartedEvent)

	SucceededEvent(context.Context, *event.CommandSucceededEvent)

	FailedEvent(context.Context, *event.CommandFailedEvent)
}

type MonitorEventOptions

type MonitorEventOptions struct{}

func (MonitorEventOptions) WithConf

func (MonitorEventOptions) WithLogger

func (MonitorEventOptions) WithLogger(logger log.Logger) EventOption

func (MonitorEventOptions) WithTracer

type Option

type Option func(c *MgoClient)

Jump to

Keyboard shortcuts

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