mongostarter

package
v0.1.3 Latest Latest
Warning

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

Go to latest
Published: Dec 24, 2024 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckDeleteResult added in v0.1.3

func CheckDeleteResult(result *mongo.DeleteResult, err error) (bool, error)

CheckDeleteResult 检查删除结果

func CheckMultipleResult added in v0.1.3

func CheckMultipleResult(cursor *mongo.Cursor, err error, result interface{}) error

CheckMultipleResult 检查多条查询结果

func CheckMultipleSaveResult added in v0.1.3

func CheckMultipleSaveResult(result *mongo.InsertManyResult, err error) ([]string, error)

CheckMultipleSaveResult 检查多条插入结果

func CheckSingleResult added in v0.1.3

func CheckSingleResult(singleResult *mongo.SingleResult, result interface{}) error

CheckSingleResult 检查单条查询结果

func CheckSingleSaveResult added in v0.1.3

func CheckSingleSaveResult(result *mongo.InsertOneResult, err error) (string, error)

CheckSingleSaveResult 检查单条插入结果

func CheckUpdateResult added in v0.1.3

func CheckUpdateResult(result *mongo.UpdateResult, err error) (bool, error)

CheckUpdateResult 检查更新结果

func GetBsonDValue added in v0.1.2

func GetBsonDValue(name string, d bson.D) interface{}

GetBsonDValue 从bson document 中获取指定的属性值

func RawCollection

func RawCollection(collection string, database ...string) *mongo.Collection

RawCollection 获取原始的 mongo.Collection 原生能力

func RawDatabase

func RawDatabase(database ...string) *mongo.Database

RawDatabase 获取原始的 mongo.Database 原生能力 database 为空则使用默认初始化指定的database

func RawMongoClient

func RawMongoClient() *mongo.Client

RawMongoClient 获取原始的 mongo.Client原生能力

Types

type BaseMapper

type BaseMapper[T IBaseModel] struct {
	Value T
}

BaseMapper 接口声明

func (*BaseMapper[T]) Collection added in v0.1.1

func (b *BaseMapper[T]) Collection() *mongo.Collection

func (*BaseMapper[T]) CountByBson added in v0.1.1

func (b *BaseMapper[T]) CountByBson(condition bson.M) (int64, error)

func (*BaseMapper[T]) CountByCollection added in v0.1.1

func (b *BaseMapper[T]) CountByCollection(filter interface{}, opts ...options.Lister[options.CountOptions]) (int64, error)

func (*BaseMapper[T]) CountByCond added in v0.1.1

func (b *BaseMapper[T]) CountByCond(condition *T) (int64, error)

func (*BaseMapper[T]) DeleteByCond added in v0.1.1

func (b *BaseMapper[T]) DeleteByCond(condition *T) (bool, error)

func (*BaseMapper[T]) DeleteByCondUseBson added in v0.1.1

func (b *BaseMapper[T]) DeleteByCondUseBson(condition bson.M) (bool, error)

func (*BaseMapper[T]) DeleteById added in v0.1.1

func (b *BaseMapper[T]) DeleteById(id string) (bool, error)

func (*BaseMapper[T]) DeleteOneByCond added in v0.1.1

func (b *BaseMapper[T]) DeleteOneByCond(condition *T) (bool, error)

func (*BaseMapper[T]) DeleteOneByCondUseBson added in v0.1.1

func (b *BaseMapper[T]) DeleteOneByCondUseBson(condition bson.M) (bool, error)

func (*BaseMapper[T]) Save added in v0.1.1

func (b *BaseMapper[T]) Save(entity *T) (string, error)

func (*BaseMapper[T]) SaveBatch added in v0.1.1

func (b *BaseMapper[T]) SaveBatch(entity *[]*T) ([]string, error)

func (*BaseMapper[T]) SaveBatchByBson added in v0.1.1

func (b *BaseMapper[T]) SaveBatchByBson(entity *[]*bson.M) ([]string, error)

func (*BaseMapper[T]) SaveBatchByCollection added in v0.1.1

func (b *BaseMapper[T]) SaveBatchByCollection(documents interface{}, opts ...options.Lister[options.InsertManyOptions]) ([]string, error)

func (*BaseMapper[T]) SaveByBson added in v0.1.1

func (b *BaseMapper[T]) SaveByBson(entity bson.M) (string, error)

func (*BaseMapper[T]) SaveByCollection added in v0.1.1

func (b *BaseMapper[T]) SaveByCollection(document interface{}, opts ...options.Lister[options.InsertOneOptions]) (string, error)

func (*BaseMapper[T]) SelectByBson

func (b *BaseMapper[T]) SelectByBson(condition bson.M, orderBy []*OrderBy, result *[]*T, specifyColumns ...string) error

func (*BaseMapper[T]) SelectByCollection added in v0.1.1

func (b *BaseMapper[T]) SelectByCollection(filter interface{}, result *[]*T, opts ...options.Lister[options.FindOptions]) error

func (*BaseMapper[T]) SelectByCond added in v0.1.1

func (b *BaseMapper[T]) SelectByCond(condition *T, orderBy []*OrderBy, result *[]*T, specifyColumns ...string) error

func (*BaseMapper[T]) SelectById

func (b *BaseMapper[T]) SelectById(id string, result *T, notObjectId ...bool) error

func (*BaseMapper[T]) SelectByIds

func (b *BaseMapper[T]) SelectByIds(ids []string, result *[]*T) (err error)

func (*BaseMapper[T]) SelectOneByBson

func (b *BaseMapper[T]) SelectOneByBson(condition bson.M, result *T, specifyColumns ...string) error

func (*BaseMapper[T]) SelectOneByCollection added in v0.1.1

func (b *BaseMapper[T]) SelectOneByCollection(filter interface{}, result *T, opts ...options.Lister[options.FindOneOptions]) error

func (*BaseMapper[T]) SelectOneByCond added in v0.1.1

func (b *BaseMapper[T]) SelectOneByCond(condition *T, result *T, specifyColumns ...string) error

func (*BaseMapper[T]) SelectPageByBson added in v0.1.1

func (b *BaseMapper[T]) SelectPageByBson(condition bson.M, orderBy []*OrderBy, pageNumber, pageSize int, result *[]*T, specifyColumns ...string) (total int64, err error)

func (*BaseMapper[T]) SelectPageByCollection added in v0.1.1

func (b *BaseMapper[T]) SelectPageByCollection(filter interface{}, orderBy []*OrderBy, pageNumber, pageSize int, result *[]*T, opts ...options.Lister[options.FindOptions]) (total int64, err error)

func (*BaseMapper[T]) SelectPageByCond added in v0.1.1

func (b *BaseMapper[T]) SelectPageByCond(condition *T, orderBy []*OrderBy, pageNumber, pageSize int, result *[]*T, specifyColumns ...string) (total int64, err error)

func (*BaseMapper[T]) UpdateByCond added in v0.1.1

func (b *BaseMapper[T]) UpdateByCond(update, condition *T) (bool, error)

func (*BaseMapper[T]) UpdateByCondUseBson added in v0.1.1

func (b *BaseMapper[T]) UpdateByCondUseBson(update, condition bson.M) (bool, error)

func (*BaseMapper[T]) UpdateById added in v0.1.1

func (b *BaseMapper[T]) UpdateById(update *T, id string) (bool, error)

func (*BaseMapper[T]) UpdateByIdUseBson added in v0.1.1

func (b *BaseMapper[T]) UpdateByIdUseBson(update bson.M, id string) (bool, error)

func (*BaseMapper[T]) UpdateOneByCond added in v0.1.1

func (b *BaseMapper[T]) UpdateOneByCond(update, condition *T) (bool, error)

func (*BaseMapper[T]) UpdateOneByCondUseBson added in v0.1.1

func (b *BaseMapper[T]) UpdateOneByCondUseBson(update, condition bson.M) (bool, error)

type IBaseMapper added in v0.1.1

type IBaseMapper[B BaseMapper[T], T IBaseModel] interface {

	// Collection 获取对应的原始Collection操作能力
	Collection() *mongo.Collection

	// SelectById 通过主键查询数据 ObjectId类型
	SelectById(id string, result *T, notObjectId ...bool) error

	// SelectByIds 通过主键查询数据
	SelectByIds(ids []string, result *[]*T) (err error)

	// SelectOneByCond 通过条件查询
	// specifyColumns 需要指定只查询的数据库字段
	SelectOneByCond(condition *T, result *T, specifyColumns ...string) error

	// SelectOneByBson 通过条件查询
	// specifyColumns 需要指定只查询的数据库字段
	SelectOneByBson(condition bson.M, result *T, specifyColumns ...string) error

	// SelectOneByCollection 通过原生Collection查询能力
	SelectOneByCollection(filter interface{}, result *T, opts ...options.Lister[options.FindOneOptions]) error

	// SelectByCond 通过条件查询
	// specifyColumns 需要指定只查询的数据库字段
	SelectByCond(condition *T, orderBy []*OrderBy, result *[]*T, specifyColumns ...string) error

	// SelectByBson 通过条件查询
	// specifyColumns 需要指定只查询的数据库字段
	SelectByBson(condition bson.M, orderBy []*OrderBy, result *[]*T, specifyColumns ...string) error

	// SelectByCollection 通过原生Collection查询能力
	SelectByCollection(filter interface{}, result *[]*T, opts ...options.Lister[options.FindOptions]) error

	// CountByCond 通过条件查询数据总数
	CountByCond(condition *T) (int64, error)

	// CountByBson 通过条件查询数据总数
	CountByBson(condition bson.M) (int64, error)

	// CountByCollection 通过原生Collection查询能力
	CountByCollection(filter interface{}, opts ...options.Lister[options.CountOptions]) (int64, error)

	// SelectPageByCond 分页查询 pageNumber >= 1
	SelectPageByCond(condition *T, orderBy []*OrderBy, pageNumber, pageSize int, result *[]*T, specifyColumns ...string) (total int64, err error)

	// SelectPageByBson 分页查询 pageNumber >= 1
	SelectPageByBson(condition bson.M, orderBy []*OrderBy, pageNumber, pageSize int, result *[]*T, specifyColumns ...string) (total int64, err error)

	// SelectPageByCollection 分页查询 pageNumber >= 1
	SelectPageByCollection(filter interface{}, orderBy []*OrderBy, pageNumber, pageSize int, result *[]*T, opts ...options.Lister[options.FindOptions]) (total int64, err error)

	// Save 保存数据
	Save(entity *T) (string, error)

	// SaveByBson 保存数据
	SaveByBson(entity bson.M) (string, error)

	// SaveByCollection 保存数据 使用Collection原生能力
	SaveByCollection(document interface{}, opts ...options.Lister[options.InsertOneOptions]) (string, error)

	// SaveBatch 批量保存数据
	SaveBatch(entity *[]*T) ([]string, error)

	// SaveBatchByBson 批量保存数据
	SaveBatchByBson(entity *[]*bson.M) ([]string, error)

	// SaveBatchByCollection 批量保存数据
	SaveBatchByCollection(documents interface{}, opts ...options.Lister[options.InsertManyOptions]) ([]string, error)

	// UpdateById 根据主键更新数据 id ObjectId hex
	UpdateById(update *T, id string) (bool, error)

	// UpdateByIdUseBson 根据主键更新数据
	UpdateByIdUseBson(update bson.M, id string) (bool, error)

	// UpdateOneByCond 通过条件更新单条数据
	UpdateOneByCond(update, condition *T) (bool, error)

	// UpdateOneByCondUseBson 通过条件更新单条数据
	UpdateOneByCondUseBson(update, condition bson.M) (bool, error)

	// UpdateByCond 通过条件更新多条数据
	UpdateByCond(update, condition *T) (bool, error)

	// UpdateByCondUseBson 通过条件更新单条数据
	UpdateByCondUseBson(update, condition bson.M) (bool, error)

	// DeleteById 根据主键删除数据
	DeleteById(id string) (bool, error)

	// DeleteOneByCond 通过条件删除数据
	DeleteOneByCond(condition *T) (bool, error)

	// DeleteOneByCondUseBson 通过条件删除数据
	DeleteOneByCondUseBson(condition bson.M) (bool, error)

	// DeleteByCond 通过条件删除数据
	DeleteByCond(condition *T) (bool, error)

	// DeleteByCondUseBson 通过条件删除数据
	DeleteByCondUseBson(condition bson.M) (bool, error)
}

type IBaseModel

type IBaseModel interface {
	CollectionName() string
}

type MongoConfig added in v0.1.1

type MongoConfig struct {

	// 工作数据库
	Database string

	// Mongo 链接地址串 如果设置了则忽略上面的配置
	MongoUri string

	// 设置默认的Bson选项
	BsonOpts *options.BSONOptions

	// 开启详细日志
	EnableLogger bool

	// 网络压缩算法
	Compressors []string
}

type MongoStarter

type MongoStarter struct {
	MongoConfig MongoConfig

	MongoSetting *parent.Setting

	InitFunc func(instance *mongo.Client)
}

func (*MongoStarter) Setting

func (m *MongoStarter) Setting() *parent.Setting

func (*MongoStarter) Start

func (m *MongoStarter) Start() (interface{}, error)

func (*MongoStarter) Stop

func (m *MongoStarter) Stop(maxWaitTime time.Duration) (gracefully, stopped bool, err error)

type OrderBy added in v0.1.1

type OrderBy struct {
	// 列名
	Column string
	// 是否降序
	Desc bool
}

OrderBy 排序规则

func NewOrderBy added in v0.1.1

func NewOrderBy(column string, desc bool) []*OrderBy

NewOrderBy 新增排序规则

func NewOrderBys added in v0.1.1

func NewOrderBys(orderBy map[string]bool) []*OrderBy

NewOrderBys 新增多个排序规则

type Timestamp added in v0.1.1

type Timestamp json.Timestamp

Timestamp 对应处理mongo数据类型为IOSDate 转换为时间戳

func (Timestamp) MarshalBSONValue added in v0.1.1

func (t Timestamp) MarshalBSONValue() (typ byte, data []byte, err error)

func (Timestamp) MarshalJSON added in v0.1.1

func (t Timestamp) MarshalJSON() ([]byte, error)

func (*Timestamp) UnmarshalBSONValue added in v0.1.1

func (t *Timestamp) UnmarshalBSONValue(typ byte, data []byte) error

func (Timestamp) UnmarshalJSON added in v0.1.1

func (t Timestamp) UnmarshalJSON(data []byte) error

Jump to

Keyboard shortcuts

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