Documentation ¶
Index ¶
- Constants
- func MakeBsonFilter(options *FilterOptions) bson.M
- type BaseFilter
- type EsMapper
- type FilterOptions
- type Flag
- type IEsMapper
- type IMongoMapper
- type MongoFilter
- type MongoMapper
- func (m *MongoMapper) Count(ctx context.Context, filter *FilterOptions) (int64, error)
- func (m *MongoMapper) Delete(ctx context.Context, id string) error
- func (m *MongoMapper) FindMany(ctx context.Context, fopts *FilterOptions, popts *pagination.PaginationOptions, ...) ([]*Post, error)
- func (m *MongoMapper) FindManyAndCount(ctx context.Context, fopts *FilterOptions, popts *pagination.PaginationOptions, ...) ([]*Post, int64, error)
- func (m *MongoMapper) FindOne(ctx context.Context, id string) (*Post, error)
- func (m *MongoMapper) Insert(ctx context.Context, data *Post) error
- func (m *MongoMapper) Update(ctx context.Context, data *Post) error
- func (m *MongoMapper) UpdateFlags(ctx context.Context, id string, flags map[Flag]bool) error
- type Post
Constants ¶
View Source
const CollectionName = "post"
View Source
const (
OfficialFlag = 1 << 0
)
Variables ¶
This section is empty.
Functions ¶
func MakeBsonFilter ¶
func MakeBsonFilter(options *FilterOptions) bson.M
Types ¶
type BaseFilter ¶
type BaseFilter struct { MustFlags *Flag MustNotFlags *Flag *FilterOptions }
func (*BaseFilter) CheckOnlyOfficial ¶
func (f *BaseFilter) CheckOnlyOfficial()
type EsMapper ¶
type EsMapper struct {
// contains filtered or unexported fields
}
func (*EsMapper) CountWithQuery ¶
func (*EsMapper) Search ¶
func (m *EsMapper) Search(ctx context.Context, query []types.Query, fopts *FilterOptions, popts *pagination.PaginationOptions, sorter esp.EsCursor) ([]*Post, int64, error)
type FilterOptions ¶
type IEsMapper ¶
type IEsMapper interface { Search(ctx context.Context, query []types.Query, fopts *FilterOptions, popts *pagination.PaginationOptions, sorter esp.EsCursor) ([]*Post, int64, error) CountWithQuery(ctx context.Context, query []types.Query, fopts *FilterOptions) (int64, error) }
func NewEsMapper ¶
type IMongoMapper ¶
type IMongoMapper interface { Insert(ctx context.Context, data *Post) error FindOne(ctx context.Context, id string) (*Post, error) Update(ctx context.Context, data *Post) error Delete(ctx context.Context, id string) error FindMany(ctx context.Context, fopts *FilterOptions, popts *pagination.PaginationOptions, sorter mongop.MongoCursor) ([]*Post, error) Count(ctx context.Context, fopts *FilterOptions) (int64, error) FindManyAndCount(ctx context.Context, fopts *FilterOptions, popts *pagination.PaginationOptions, sorter mongop.MongoCursor) ([]*Post, int64, error) UpdateFlags(ctx context.Context, id string, flags map[Flag]bool) error }
func NewMongoMapper ¶
func NewMongoMapper(config *config.Config) IMongoMapper
type MongoFilter ¶
type MongoFilter struct { *BaseFilter // contains filtered or unexported fields }
func (*MongoFilter) CheckFlags ¶
func (f *MongoFilter) CheckFlags()
func (*MongoFilter) CheckOnlyUserId ¶
func (f *MongoFilter) CheckOnlyUserId()
type MongoMapper ¶
type MongoMapper struct {
// contains filtered or unexported fields
}
func (*MongoMapper) Count ¶
func (m *MongoMapper) Count(ctx context.Context, filter *FilterOptions) (int64, error)
func (*MongoMapper) FindMany ¶
func (m *MongoMapper) FindMany(ctx context.Context, fopts *FilterOptions, popts *pagination.PaginationOptions, sorter mongop.MongoCursor) ([]*Post, error)
func (*MongoMapper) FindManyAndCount ¶
func (m *MongoMapper) FindManyAndCount(ctx context.Context, fopts *FilterOptions, popts *pagination.PaginationOptions, sorter mongop.MongoCursor) ([]*Post, int64, error)
func (*MongoMapper) UpdateFlags ¶
type Post ¶
type Post struct { ID primitive.ObjectID `bson:"_id,omitempty" json:"_id,omitempty"` Title string `bson:"title,omitempty" ` Text string `bson:"text,omitempty"` CoverUrl string `bson:"coverUrl,omitempty"` Tags []string `bson:"tags,omitempty"` UserId string `bson:"userId,omitempty"` Flags *Flag `bson:"flags,omitempty"` UpdateAt time.Time `bson:"updateAt,omitempty"` CreateAt time.Time `bson:"createAt,omitempty"` // 仅ES查询时使用 Score_ float64 `bson:"_score,omitempty" json:"_score,omitempty"` }
Click to show internal directories.
Click to hide internal directories.