Documentation
¶
Index ¶
- func CreateUpdateModel(value interface{})
- type BuilderElement
- type DefaultRepository
- func (r *DefaultRepository) Filter(filter interface{}) []*interface{}
- func (r *DefaultRepository) Find(fieldName string, value string) []*interface{}
- func (r *DefaultRepository) FindOne(fieldName string, value string) *mongo.SingleResult
- func (r *DefaultRepository) InsertMany(elements []interface{}) *mongo.InsertManyResult
- func (r *DefaultRepository) InsertOne(element interface{}) *mongo.InsertOneResult
- func (r *DefaultRepository) UpsertMany(filter interface{}, elements []interface{}) *mongo.UpdateResult
- func (r *DefaultRepository) UpsertOne(model mongo.UpdateOneModel) *mongo.UpdateResult
- type FieldFilterBuilder
- func (c *FieldFilterBuilder) And() *FilterBuilder
- func (c *FieldFilterBuilder) Build() *FilterBuilder
- func (c *FieldFilterBuilder) Equals(value interface{}) *FieldFilterBuilder
- func (c *FieldFilterBuilder) GreaterThan(value interface{}) *FieldFilterBuilder
- func (c *FieldFilterBuilder) LowerThan(value interface{}) *FieldFilterBuilder
- type FieldOperation
- type FilterBuilder
- func (b *FilterBuilder) And() *FilterBuilder
- func (b *FilterBuilder) Build() interface{}
- func (b *FilterBuilder) Field(fieldName string) *FieldFilterBuilder
- func (b *FilterBuilder) Nor(fieldName string, fieldValue string) *FilterBuilder
- func (b *FilterBuilder) OldAnd(fieldName string, fieldValue string) *FilterBuilder
- func (b *FilterBuilder) Or(fieldName string, fieldValue string) *FilterBuilder
- type FilterElement
- type FilterOperation
- type MongoFactory
- func (f *MongoFactory) GetClient() *mongo.Client
- func (f *MongoFactory) GetCollection(collectionName string) *mongo.Collection
- func (f *MongoFactory) GetContext() *executionctx.Context
- func (f *MongoFactory) GetDatabase() *mongo.Database
- func (f *MongoFactory) WithDatabase(databaseName string) *MongoFactory
- type MongoOperator
- type Repository
- type UpdateOneBuilder
- func (c *UpdateOneBuilder) Build() mongo.UpdateOneModel
- func (c *UpdateOneBuilder) Encode(element interface{}, ignoredFields ...string) *UpdateOneBuilder
- func (c *UpdateOneBuilder) FilterBy(key string, value interface{}) *UpdateOneBuilder
- func (c *UpdateOneBuilder) SetElement(key string, value interface{}) *UpdateOneBuilder
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 ¶
func (r *DefaultRepository) UpsertOne(model mongo.UpdateOneModel) *mongo.UpdateResult
type FieldFilterBuilder ¶
type FieldFilterBuilder struct {
Builder *FilterBuilder
FieldName string
Operations []FieldOperation
}
func (*FieldFilterBuilder) And ¶
func (c *FieldFilterBuilder) And() *FilterBuilder
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 (c *UpdateOneBuilder) Build() mongo.UpdateOneModel
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
Click to show internal directories.
Click to hide internal directories.