go-transaction-manager

Форк
0
24 строки · 1.1 Кб
1
package mongo
2

3
import (
4
	"context"
5

6
	"go.mongodb.org/mongo-driver/mongo"
7
	"go.mongodb.org/mongo-driver/mongo/options"
8
	"go.mongodb.org/mongo-driver/mongo/readpref"
9
)
10

11
//nolint:interfacebloat
12
type client interface {
13
	Connect(ctx context.Context) error
14
	Disconnect(ctx context.Context) error
15
	Ping(ctx context.Context, rp *readpref.ReadPref) error
16
	StartSession(opts ...*options.SessionOptions) (mongo.Session, error)
17
	Database(name string, opts ...*options.DatabaseOptions) *mongo.Database
18
	ListDatabases(ctx context.Context, filter interface{}, opts ...*options.ListDatabasesOptions) (mongo.ListDatabasesResult, error)
19
	ListDatabaseNames(ctx context.Context, filter interface{}, opts ...*options.ListDatabasesOptions) ([]string, error)
20
	UseSession(ctx context.Context, fn func(sessionContext mongo.SessionContext) error) error
21
	UseSessionWithOptions(ctx context.Context, opts *options.SessionOptions, fn func(sessionContext mongo.SessionContext) error) error
22
	Watch(ctx context.Context, pipeline interface{}, opts ...*options.ChangeStreamOptions) (*mongo.ChangeStream, error)
23
	NumberSessionsInProgress() int
24
}
25

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.