Documentation
¶
Overview ¶
Package mongodb
Package mongodb ¶
Package mongodb
Index ¶
- Variables
- func EscapeLikeString(s string) string
- func IsNoFoundError(err error) bool
- func WrapErr(err error) error
- type Client
- func (c *Client) BulkExecute(ctx context.Context, bulk *qmgo.Bulk) (err error)
- func (c *Client) Collection(name string) *Client
- func (c *Client) DeleteAll(ctx context.Context, data bson.M) error
- func (c *Client) FindAll(ctx context.Context, filters bson.M, queryResult interface{}) error
- func (c *Client) FindOne(ctx context.Context, filters bson.M, queryResult interface{}) error
- func (c *Client) GetBulkContainer(collection string) (bulk *qmgo.Bulk)
- func (c *Client) Insert(ctx context.Context, data []interface{}) error
- func (c *Client) InsertOne(ctx context.Context, data interface{}) (id string, err error)
- func (c *Client) QueryByPaging(ctx context.Context, filters bson.M, sort []string, pageIndex int64, ...) (totalCount int64, err error)
- func (c *Client) Update(ctx context.Context, filters bson.M, data bson.M) error
- func (c *Client) UpdateMany(ctx context.Context, filters bson.M, data bson.M) error
- type ClientOptionFunc
- func SetBasicAuth(username, password string) ClientOptionFunc
- func SetCollection(coll string) ClientOptionFunc
- func SetConnectTimeout(t int) ClientOptionFunc
- func SetDatabase(db string) ClientOptionFunc
- func SetDirect(enabled bool) ClientOptionFunc
- func SetHeartbeatInterval(t int) ClientOptionFunc
- func SetLocalThreshold(t int) ClientOptionFunc
- func SetMaxConnIdleTime(t int) ClientOptionFunc
- func SetMaxPoolSize(size int) ClientOptionFunc
- func SetMinPoolSize(size int) ClientOptionFunc
- func SetReadConcern(level string) ClientOptionFunc
- func SetRetryRead(enabled bool) ClientOptionFunc
- func SetRetryWrite(enabled bool) ClientOptionFunc
- func SetSocketTimeout(t int) ClientOptionFunc
- func SetURI(uri string) ClientOptionFunc
- func SetWriteConcern(level interface{}) ClientOptionFunc
- type Config
Constants ¶
This section is empty.
Variables ¶
View Source
var (
PercentSignUTF8, _ = utf8.DecodeRuneInString("%")
UnderscoreUTF8, _ = utf8.DecodeRuneInString("_")
EscapeCharUTF8, _ = utf8.DecodeRuneInString(`\`)
LeftSquareCharUTF8, _ = utf8.DecodeRuneInString(`[`)
RightSquareCharUTF8, _ = utf8.DecodeRuneInString(`]`)
LeftBracketCharUTF8, _ = utf8.DecodeRuneInString(`(`)
RightBracketCharUTF8, _ = utf8.DecodeRuneInString(`)`)
AsteriskCharUTF8, _ = utf8.DecodeRuneInString(`*`)
DotCharUTF8, _ = utf8.DecodeRuneInString(`.`)
DollarCharUTF8, _ = utf8.DecodeRuneInString(`$`)
TipCharUTF8, _ = utf8.DecodeRuneInString(`^`)
QMCharUTF8, _ = utf8.DecodeRuneInString(`?`)
)
一些转义符
Functions ¶
Types ¶
type Client ¶
Client 客户端
func NewClient ¶
func NewClient(fn ...ClientOptionFunc) (c *Client, err error)
NewClient is 初始化mongodb客户端
func (*Client) BulkExecute ¶
BulkExecute 批量执行
func (*Client) GetBulkContainer ¶
GetBulkContainer 获取批量执行容器
func (*Client) QueryByPaging ¶
func (c *Client) QueryByPaging(ctx context.Context, filters bson.M, sort []string, pageIndex int64, pageSize int64, queryResult interface{}) (totalCount int64, err error)
QueryByPaging 分页查询
type ClientOptionFunc ¶
type ClientOptionFunc func(c *Client)
func SetBasicAuth ¶
func SetBasicAuth(username, password string) ClientOptionFunc
SetBasicAuth is 设置账号
func SetConnectTimeout ¶
func SetConnectTimeout(t int) ClientOptionFunc
SetConnectTimeout is 设置连接超时时间
func SetHeartbeatInterval ¶
func SetHeartbeatInterval(t int) ClientOptionFunc
SetHeartbeatInterval is 设置心跳间隔
func SetMaxConnIdleTime ¶
func SetMaxConnIdleTime(t int) ClientOptionFunc
SetMaxConnIdleTime is 设置连接最大空闲时间
func SetWriteConcern ¶
func SetWriteConcern(level interface{}) ClientOptionFunc
SetWriteConcern is 设置写关注等级
type Config ¶
type Config struct {
URI string `json:"uri"`
Username string `json:"username"`
Password string `json:"password"`
Database string `json:"database"`
Collection string `json:"collection"`
MaxPoolSize uint64 `json:"max_pool_size"`
MinPoolSize uint64 `json:"min_pool_size"`
// 是否仅连接提供的主机,false将会发现集群其它主机
Direct bool `json:"direct"`
// socket读写超时时间,单位秒
SocketTimeout time.Duration `json:"socket_timeout"`
// 建立连接超时时间,单位秒
ConnTimeout time.Duration `json:"conn_timeout"`
// 空闲连接最大持续时间,单位秒
MaxConnIdleTime time.Duration `json:"max_conn_idle_time"`
// 心跳检查间隔,单位秒
HeartbeatInterval time.Duration `json:"heartbeatInterval"`
// 延迟窗口的容忍大小,单位毫秒
LocalThreshold time.Duration `json:"local_threshold"`
// 重复读,默认开启
RetryRead bool `json:"retry_read"`
// 重复写,默认开启
RetryWrite bool `json:"retry_write"`
// contains filtered or unexported fields
}
Config mongodb配置
Click to show internal directories.
Click to hide internal directories.