mongodb

package
v0.0.18 Latest Latest
Warning

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

Go to latest
Published: Jan 26, 2022 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateUpdateModel

func CreateUpdateModel(value interface{})

Types

type BuilderElement

type BuilderElement struct {
	Key string
	// contains filtered or unexported fields
}

type DefaultRepository

type DefaultRepository struct {
	Client         *mongo.Client
	Database       *mongo.Database
	Collection     *mongo.Collection
	DatabaseName   string
	CollectionName string
}

func (*DefaultRepository) Filter

func (r *DefaultRepository) Filter(filter interface{}) []*interface{}

func (*DefaultRepository) Find

func (r *DefaultRepository) Find(fieldName string, value string) []*interface{}

func (*DefaultRepository) FindOne

func (r *DefaultRepository) FindOne(fieldName string, value string) *mongo.SingleResult

func (*DefaultRepository) InsertMany

func (r *DefaultRepository) InsertMany(elements []interface{}) *mongo.InsertManyResult

func (*DefaultRepository) InsertOne

func (r *DefaultRepository) InsertOne(element interface{}) *mongo.InsertOneResult

func (*DefaultRepository) UpsertMany

func (r *DefaultRepository) UpsertMany(filter interface{}, elements []interface{}) *mongo.UpdateResult

func (*DefaultRepository) UpsertOne

type FieldFilterBuilder

type FieldFilterBuilder struct {
	Builder    *FilterBuilder
	FieldName  string
	Operations []FieldOperation
}

func (*FieldFilterBuilder) And

func (*FieldFilterBuilder) Build

func (c *FieldFilterBuilder) Build() *FilterBuilder

func (*FieldFilterBuilder) Equals

func (c *FieldFilterBuilder) Equals(value interface{}) *FieldFilterBuilder

func (*FieldFilterBuilder) GreaterThan

func (c *FieldFilterBuilder) GreaterThan(value interface{}) *FieldFilterBuilder

func (*FieldFilterBuilder) LowerThan

func (c *FieldFilterBuilder) LowerThan(value interface{}) *FieldFilterBuilder

type FieldOperation

type FieldOperation struct {
	Operator MongoOperator
	Value    interface{}
}

type FilterBuilder

type FilterBuilder struct {
	Operations []FilterOperation
}

func NewFilterBuilder

func NewFilterBuilder() *FilterBuilder

func (*FilterBuilder) And

func (b *FilterBuilder) And() *FilterBuilder

func (*FilterBuilder) Build

func (b *FilterBuilder) Build() interface{}

func (*FilterBuilder) Field

func (b *FilterBuilder) Field(fieldName string) *FieldFilterBuilder

func (*FilterBuilder) Nor

func (b *FilterBuilder) Nor(fieldName string, fieldValue string) *FilterBuilder

func (*FilterBuilder) OldAnd

func (b *FilterBuilder) OldAnd(fieldName string, fieldValue string) *FilterBuilder

func (*FilterBuilder) Or

func (b *FilterBuilder) Or(fieldName string, fieldValue string) *FilterBuilder

type FilterElement

type FilterElement struct {
	Key   string
	Value interface{}
}

func (FilterElement) Encode

func (e FilterElement) Encode() map[string]interface{}

type FilterOperation

type FilterOperation struct {
	LeftOperator  MongoOperator
	Elements      []FilterElement
	TestElements  []FieldFilterBuilder
	RightOperator MongoOperator
}

type MongoFactory

type MongoFactory struct {
	Client      *mongo.Client
	Database    *mongo.Database
	Context     *executionctx.Context
	DatabaseCxt *database.DatabaseCtx
	Logger      *log.Logger
}

MongoFactory MongoFactory Entity

func NewFactory

func NewFactory(connectionString string) *MongoFactory

NewFactory Instantiate a new MongoDb Factory

func (*MongoFactory) GetClient

func (f *MongoFactory) GetClient() *mongo.Client

GetClient returns mongodb client

func (*MongoFactory) GetCollection

func (f *MongoFactory) GetCollection(collectionName string) *mongo.Collection

func (*MongoFactory) GetContext

func (f *MongoFactory) GetContext() *executionctx.Context

GetContext Gets the Execution context

func (*MongoFactory) GetDatabase

func (f *MongoFactory) GetDatabase() *mongo.Database

GetDatabase returns MongoDb database

func (*MongoFactory) WithDatabase

func (f *MongoFactory) WithDatabase(databaseName string) *MongoFactory

type MongoOperator

type MongoOperator int64
const (
	NONE MongoOperator = iota
	AND
	NOR
	OR
	EQUALS
	GREATERTHAN
	LOWERTHAN
)

func (MongoOperator) String

func (o MongoOperator) String() string

type Repository

type Repository interface {
	Filter(filter interface{}) []*interface{}
	Find(fieldName string, value string) []*interface{}
	FindOne(fieldName string, value string) *mongo.SingleResult
	InsertOne(element interface{}) *mongo.InsertOneResult
	InsertMany(elements []interface{}) *mongo.InsertManyResult
	UpsertOne(model mongo.UpdateOneModel) *mongo.UpdateResult
	UpsertMany(filter interface{}, elements []interface{}) *mongo.UpdateResult
}

func NewRepository

func NewRepository(factory *MongoFactory, database string, collection string) Repository

type UpdateOneBuilder

type UpdateOneBuilder struct {
	Filter   []BuilderElement
	Elements []BuilderElement
}

func NewUpdateOneBuilder

func NewUpdateOneBuilder() *UpdateOneBuilder

func (*UpdateOneBuilder) Build

func (*UpdateOneBuilder) Encode

func (c *UpdateOneBuilder) Encode(element interface{}, ignoredFields ...string) *UpdateOneBuilder

func (*UpdateOneBuilder) FilterBy

func (c *UpdateOneBuilder) FilterBy(key string, value interface{}) *UpdateOneBuilder

func (*UpdateOneBuilder) SetElement

func (c *UpdateOneBuilder) SetElement(key string, value interface{}) *UpdateOneBuilder

Jump to

Keyboard shortcuts

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