Documentation
¶
Index ¶
- func GetMgoClient(config map[string]string) (*mongo.Client, error)
- type IMgoRepository
- type IndexItem
- type MgoContent
- type MgoRepository
- func (m *MgoRepository) Add(entity interface{}) (id interface{}, err error)
- func (m *MgoRepository) AddMany(entity ...interface{}) (ids []interface{}, err error)
- func (m *MgoRepository) Find(filterKey string, filterValue interface{}, filterField []string, ...) (err error)
- func (m *MgoRepository) FindById(id interface{}, filterField []string, result interface{}) (err error)
- func (m *MgoRepository) FindByIds(ids []interface{}, filterField []string, result interface{}) (err error)
- func (m *MgoRepository) FindCount(filterMap map[string]interface{}) (count int64, err error)
- func (m *MgoRepository) FindMany(filterMap map[string]interface{}, filterField []string, result interface{}) error
- func (m *MgoRepository) FindPage(filterMap map[string]interface{}, pageIndex, size int64, sortName string, ...) (totalCount int64, err error)
- func (m *MgoRepository) Remove(ids ...interface{}) (count int64, err error)
- func (m *MgoRepository) Set(filterKey string, filterValue interface{}, entity interface{}) (count int64, err error)
- func (m *MgoRepository) SetIndex(elems []string) RepositoryIndexes
- func (m *MgoRepository) SetIndexDesc(elems []string) RepositoryIndexes
- func (m *MgoRepository) SetUnique(elems []string) RepositoryIndexes
- func (m *MgoRepository) SetUniqueDesc(elems []string) RepositoryIndexes
- type RepositoryIndexes
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type IMgoRepository ¶
type IMgoRepository interface { //Add 插入单个 // entity 结构体 Add(entity interface{}) (id interface{}, err error) //AddMany 插入多个 // entity 结构体切片 AddMany(entity ...interface{}) (ids []interface{}, err error) //Remove 删除单个 // id 主键 Remove(id ...interface{}) (count int64, err error) // Set filterKey 过滤的字段名称[与标签一致] // filterValue 过滤的字段值 // projection 要查询的字段 // entity 更新的结构体(支持局部更新) Set(filterKey string, filterValue interface{}, entity interface{}) (count int64, err error) //FindById 单条件查询单个[id] // filterValue 过滤的字段值 // filterField 过滤需要的字段,nil 为全部 ,[]string{ “字段1”,“字段2”...} // result 查询的结果(指针) FindById(id interface{}, filterField []string, result interface{}) (err error) //FindByIds 单条件查询单个[id] // filterValue 过滤的字段值 // filterField 过滤需要的字段,nil 为全部 ,[]string{ “字段1”,“字段2”...} // result 查询的结果(指针) FindByIds(ids []interface{}, filterField []string, result interface{}) (err error) //Find 单条件查询 // filterKey 过滤的字段名称[与标签一致] // filterValue 过滤的字段值 // filterField 过滤需要的字段,nil 为全部 ,[]string{ “字段1”,“字段2”...} // result 查询的结果 Find(filterKey string, filterValue interface{}, filterField []string, result interface{}) (err error) //FindMany 多条件查询 // filterMap 过滤的条件集合[与标签一致] // filterField 过滤需要的字段,nil 为全部 ,[]string{ “字段1”,“字段2”...} // result 查询的结果 FindMany(filterMap map[string]interface{}, filterField []string, result interface{}) (err error) //FindCount 获取总数 // filterMap 过滤的条件集合 FindCount(filterMap map[string]interface{}) (count int64, err error) //FindPage 查询分页 // filterMap 查询条件[与标签一致] // pageIndex 页数(从1开始) // size 获取个数 // sortName 排序字段 // desc 是否倒序(1为正序,-1为倒序) 1 为最初时间读取 , -1 为最新时间读取 // filterField 过滤需要的字段,nil 为全部 ,[]string{ “字段1”,“字段2”...} // result 查询结果(结构体切片) // isTotal 总数 FindPage(filterMap map[string]interface{}, pageIndex, size int64, sortName string, desc int, filterField []string, result interface{}, isTotal bool) (totalCount int64, err error) }
IMgoRepository 仓储接口
type MgoContent ¶
type MgoContent struct {
// contains filtered or unexported fields
}
MgoContent 数据库上下文
func DataBaseMapping ¶
func DataBaseMapping(mappingName string, configFn func(mappingName string) map[string]string, createIndexFn func() map[string][]IndexItem) (*MgoContent, error)
DataBaseMapping 添加映射 @client 连接对象 @dataName 数据库名 @createIndex 数据库表索引
func (*MgoContent) GetMgoRepository ¶
func (m *MgoContent) GetMgoRepository(collectionName string) (IMgoRepository, bool)
GetMgoRepository 获取集合仓储 collectionName 结构体
type MgoRepository ¶
type MgoRepository struct {
// contains filtered or unexported fields
}
MgoRepository 数据库仓储
func (*MgoRepository) Add ¶ added in v1.6.0
func (m *MgoRepository) Add(entity interface{}) (id interface{}, err error)
Add 插入单个 entity 结构体
func (*MgoRepository) AddMany ¶ added in v1.6.0
func (m *MgoRepository) AddMany(entity ...interface{}) (ids []interface{}, err error)
AddMany 插入多个 entity 结构体切片
func (*MgoRepository) Find ¶
func (m *MgoRepository) Find(filterKey string, filterValue interface{}, filterField []string, result interface{}) (err error)
Find 单条件查询单个 filterKey 过滤的字段名称 filterValue 过滤的字段值 result 查询的结果(指针)
func (*MgoRepository) FindById ¶
func (m *MgoRepository) FindById(id interface{}, filterField []string, result interface{}) (err error)
FindById 单条件查询单个[id] id 过滤的字段值 result 查询的结果(指针)
func (*MgoRepository) FindByIds ¶ added in v1.6.11
func (m *MgoRepository) FindByIds(ids []interface{}, filterField []string, result interface{}) (err error)
FindByIds 单条件查询多个[ids] filterValue 过滤的字段值 result 查询的结果(指针)
func (*MgoRepository) FindCount ¶
func (m *MgoRepository) FindCount(filterMap map[string]interface{}) (count int64, err error)
FindCount 查询总数 filterMap 查询条件
func (*MgoRepository) FindMany ¶
func (m *MgoRepository) FindMany(filterMap map[string]interface{}, filterField []string, result interface{}) error
FindMany 多条件查询 filterMap 过滤的条件集合 result 查询的结果切片(指针)
func (*MgoRepository) FindPage ¶
func (m *MgoRepository) FindPage(filterMap map[string]interface{}, pageIndex, size int64, sortName string, desc int, filterField []string, result interface{}, isTotal bool) (totalCount int64, err error)
FindPage 查询分页 filterMap 查询条件
模糊查询:map["name"] = primitive.Regex{Pattern: "深入"} 查询createtime>=3: bson.M{"createtime": bson.M{"$gte": 2}} 二级结构体查询: map["author.country"] = countryChina
pageIndex 页数(从1开始) size 获取个数 sortName 排序字段 desc 是否倒序(1为正序,-1为倒序) 1 为最初时间读取 , -1 为最新时间读取 filterField 过滤需要的字段,nil 为全部 ,[]string{ “字段1”,“字段2”...} result 查询结果(结构体切片) isTotal 总数
func (*MgoRepository) Remove ¶ added in v1.6.0
func (m *MgoRepository) Remove(ids ...interface{}) (count int64, err error)
Remove 删除单个 id 主键切片
func (*MgoRepository) Set ¶ added in v1.6.0
func (m *MgoRepository) Set(filterKey string, filterValue interface{}, entity interface{}) (count int64, err error)
Set filterKey 过滤的字段名称 filterValue 过滤的字段值 entity 更新的结构体(支持局部更新)
func (*MgoRepository) SetIndex ¶ added in v1.6.16
func (m *MgoRepository) SetIndex(elems []string) RepositoryIndexes
SetIndex @elems 索引集合(正序)
func (*MgoRepository) SetIndexDesc ¶ added in v1.6.16
func (m *MgoRepository) SetIndexDesc(elems []string) RepositoryIndexes
SetIndexDesc @elems 索引集合(倒序)
func (*MgoRepository) SetUnique ¶ added in v1.6.16
func (m *MgoRepository) SetUnique(elems []string) RepositoryIndexes
SetUnique @elems 唯一索引集合
func (*MgoRepository) SetUniqueDesc ¶ added in v1.6.16
func (m *MgoRepository) SetUniqueDesc(elems []string) RepositoryIndexes
SetUniqueDesc @elems 索引集合(倒序)
type RepositoryIndexes ¶ added in v1.6.16
type RepositoryIndexes interface { SetIndex(elems []string) RepositoryIndexes SetIndexDesc(elems []string) RepositoryIndexes SetUnique(elems []string) RepositoryIndexes SetUniqueDesc(elems []string) RepositoryIndexes }
RepositoryIndexes 仓储索引创建