Documentation
¶
Index ¶
- type Processor
- func (poc Processor) Contains(builder *query.Builder, field string, value any) *query.Builder
- func (poc Processor) DatePartField(datePart, field string) string
- func (poc Processor) EndsWith(builder *query.Builder, field string, value any) *query.Builder
- func (poc Processor) Equal(builder *query.Builder, field string, value any) *query.Builder
- func (poc Processor) Exact(builder *query.Builder, field string, value any) *query.Builder
- func (poc Processor) GT(builder *query.Builder, field string, value any) *query.Builder
- func (poc Processor) GTE(builder *query.Builder, field string, value any) *query.Builder
- func (poc Processor) In(builder *query.Builder, field string, value any, values []any) *query.Builder
- func (poc Processor) InsensitiveContains(builder *query.Builder, field string, value any) *query.Builder
- func (poc Processor) InsensitiveEndsWith(builder *query.Builder, field string, value any) *query.Builder
- func (poc Processor) InsensitiveExact(builder *query.Builder, field string, value any) *query.Builder
- func (poc Processor) InsensitiveRegex(builder *query.Builder, field string, value any) *query.Builder
- func (poc Processor) InsensitiveStartsWith(builder *query.Builder, field string, value any) *query.Builder
- func (poc Processor) IsNotNull(builder *query.Builder, field string) *query.Builder
- func (poc Processor) IsNull(builder *query.Builder, field string) *query.Builder
- func (poc Processor) JsonbField(jsonbField, field string) string
- func (poc Processor) LT(builder *query.Builder, field string, value any) *query.Builder
- func (poc Processor) LTE(builder *query.Builder, field string, value any) *query.Builder
- func (poc Processor) NotEqual(builder *query.Builder, field string, value any) *query.Builder
- func (poc Processor) NotIn(builder *query.Builder, field string, value any, values []any) *query.Builder
- func (poc Processor) Process(builder *query.Builder, op paginationV1.Operator, field string, value any, ...) *query.Builder
- func (poc Processor) Range(builder *query.Builder, field string, value any, values []any) *query.Builder
- func (poc Processor) Regex(builder *query.Builder, field string, value any) *query.Builder
- func (poc Processor) Search(builder *query.Builder, field string, value any) *query.Builder
- func (poc Processor) StartsWith(builder *query.Builder, field string, value any) *query.Builder
- type StructuredFilter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Processor ¶
type Processor struct {
// contains filtered or unexported fields
}
Processor 用于基于 *query.Builder 构建 MongoDB 风格的 filter
func NewProcessor ¶
func NewProcessor() *Processor
func (Processor) DatePartField ¶
DatePartField 和 JsonbField 不适用于 MongoDB,此处保留空实现以兼容调用(可按需实现)。
func (Processor) In ¶
func (poc Processor) In(builder *query.Builder, field string, value any, values []any) *query.Builder
In 包含
func (Processor) InsensitiveContains ¶
func (poc Processor) InsensitiveContains(builder *query.Builder, field string, value any) *query.Builder
InsensitiveContains 不区分大小写
func (Processor) InsensitiveEndsWith ¶
func (poc Processor) InsensitiveEndsWith(builder *query.Builder, field string, value any) *query.Builder
InsensitiveEndsWith 不区分大小写
func (Processor) InsensitiveExact ¶
func (poc Processor) InsensitiveExact(builder *query.Builder, field string, value any) *query.Builder
InsensitiveExact 不区分大小写的等值比较(使用 regex ^val$ + i)
func (Processor) InsensitiveRegex ¶
func (poc Processor) InsensitiveRegex(builder *query.Builder, field string, value any) *query.Builder
InsensitiveRegex 不区分大小写的正则
func (Processor) InsensitiveStartsWith ¶
func (poc Processor) InsensitiveStartsWith(builder *query.Builder, field string, value any) *query.Builder
InsensitiveStartsWith 不区分大小写
func (Processor) JsonbField ¶
func (Processor) NotIn ¶
func (poc Processor) NotIn(builder *query.Builder, field string, value any, values []any) *query.Builder
NotIn 不包含
func (Processor) Process ¶
func (poc Processor) Process(builder *query.Builder, op paginationV1.Operator, field string, value any, values []any) *query.Builder
Process 根据 operator 在 builder 上追加对应的 filter 并返回 builder。 field 为字段路径(可能包含点),value 为单值,values 为额外的分割值列表(如 IN)。
func (Processor) Range ¶
func (poc Processor) Range(builder *query.Builder, field string, value any, values []any) *query.Builder
Range BETWEEN 范围查询
type StructuredFilter ¶
type StructuredFilter struct {
// contains filtered or unexported fields
}
StructuredFilter 将 FilterExpr 转为 MongoDB BSON filter 并应用到 *query.Builder
func NewStructuredFilter ¶
func NewStructuredFilter() *StructuredFilter
func (StructuredFilter) BuildSelectors ¶
func (sf StructuredFilter) BuildSelectors(builder *query.Builder, expr *paginationV1.FilterExpr) (*query.Builder, error)
BuildSelectors 将 expr 转为 BSON 过滤器并通过 builder.SetFilter 应用。 若 builder 为 nil 会新建一个。
Click to show internal directories.
Click to hide internal directories.