wrap

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jul 11, 2022 License: MIT Imports: 11 Imported by: 10

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ContextBuilder added in v0.2.0

type ContextBuilder func() (context.Context, context.CancelFunc)

type Operation added in v0.2.0

type Operation func(context.Context, *Wrap) error

type Wrap

type Wrap struct {
	// contains filtered or unexported fields
}

Wrap - обертка над драйвером монго для упрощения работы с БД и коллекциями

func CreateWrap

func CreateWrap(client *mongo.Client, db string) *Wrap

Создает экземпляр обертки над драйвером mongoDB

func CreateWrapFromEnv added in v0.2.0

func CreateWrapFromEnv() (*Wrap, error)

Создание структуры Wrap на основе переменных окружения

MONGO_URI - строка для соединения с MongoDB (в случае отсутствия используется mongodb://localhost:27017) MONGO_Database - строка для передачи названия бизы данных с которой будет работать приложение (в случае отсутствия используется "data")

func CreateWrapFromOptions added in v0.2.0

func CreateWrapFromOptions(opt *options.ClientOptions, db string) (*Wrap, error)

Создание структуры Wrap на основе URI от базы данных

func (*Wrap) AggreagateSet

func (w *Wrap) AggreagateSet(set interface{}, pipeline mongo.Pipeline) error

Aggregate - Агрегация объектов mongo.

func (*Wrap) ChangeContextBuilder added in v0.2.0

func (w *Wrap) ChangeContextBuilder(builder ContextBuilder) *Wrap

Смена функции для создания контекста

Создает новый экземпляр структуры Wrap на основе существующей с измененной функцией создания контекста

func (*Wrap) Collection

func (w *Wrap) Collection(obj interface{}) *mongo.Collection

Collection - Метод для получения коллекции на основе типа документа ( Используется во всех методах для работы с докуметами и коллекциями в mongoWrap )

func (*Wrap) Connect

func (w *Wrap) Connect() error

Connect - Подключиться к СУБД

func (*Wrap) ContextedOperation added in v0.2.0

func (w *Wrap) ContextedOperation(ctx context.Context, operation Operation) error

func (*Wrap) CountElements

func (w *Wrap) CountElements(set interface{}, filter bson.D) (int, error)

CountElements - рассчет колличества элементов в коллекции, удовлетворяющих фильтру

func (*Wrap) CreateObj

func (w *Wrap) CreateObj(obj interface{}) (*mongo.InsertOneResult, error)

CreateObj - функция создания нового объекта в mongo.

func (*Wrap) CreateSet

func (w *Wrap) CreateSet(set interface{}) error

CreateSet - создаст несколько в коллекции mongo.

func (*Wrap) DeleteObj

func (w *Wrap) DeleteObj(id primitive.ObjectID, obj interface{}) error

DeleteObj - функция для удаления объекта из mongo.

func (*Wrap) DeleteSet

func (w *Wrap) DeleteSet(set interface{}, filter bson.D) error

DeleteSet - удалит несколько документов из mongo.

func (*Wrap) Disconnect

func (w *Wrap) Disconnect() error

Disconnect - Разорвать соединение с СУБД

func (*Wrap) GetObj

func (w *Wrap) GetObj(id primitive.ObjectID, obj interface{}) error

GetObj - функция для получения объекта из mongo.

func (*Wrap) GetSet

func (w *Wrap) GetSet(set interface{}, filter bson.D) (err error)

GetSet - Получение нескольких объектов из mongo.

func (*Wrap) Operation added in v0.2.0

func (w *Wrap) Operation(operation Operation) error

func (*Wrap) PredictableObjectID

func (w *Wrap) PredictableObjectID(str string) (primitive.ObjectID, error)

PredictableObjectID - предсказуемая генерация objectID на основе строки

func (*Wrap) ReplaceObj

func (w *Wrap) ReplaceObj(id primitive.ObjectID, obj interface{}) error

ReplaceObj - функция для замены одного объекта в mongo новым объектом.

func (*Wrap) SetClient added in v0.2.0

func (w *Wrap) SetClient(client *mongo.Client) *Wrap

Смена клиента для работы с mongo

Создает новый экемпляр структуры Wrap на основе текущей с измененным клиентом

func (*Wrap) SetDB added in v0.2.0

func (w *Wrap) SetDB(db string) *Wrap

Смена рабочей базы данных

Создает новй экземпляр структуры Wrap на основе текущей с измененной базой данных

func (*Wrap) UpdateObj

func (w *Wrap) UpdateObj(id primitive.ObjectID, obj interface{}, update bson.D) error

UpdateObj - Функция для обновления полей объекта в mongo.

func (*Wrap) UpdateSet

func (w *Wrap) UpdateSet(set interface{}, filter bson.D, update bson.D) error

UpdateSet - обновит несколько документов в mongo.

Jump to

Keyboard shortcuts

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