跳到主要内容

QueryBuilderService<T>

Defined in: packages/rxdb-model/src/query-builder/services/query-builder.service.ts:93

QueryBuilder 核心服务 基于 RxJS 的响应式状态管理

Type Parameters​

Type ParameterDefault type
TRecord<string, unknown>

Constructors​

Constructor​

new QueryBuilderService<T>(options?): QueryBuilderService<T>;

Defined in: packages/rxdb-model/src/query-builder/services/query-builder.service.ts:123

Parameters​

ParameterTypeDescription
optionsQueryBuilderServiceOptions<T>查询构建器配置(schema / initialQuery / 嵌套上限等)

Returns​

QueryBuilderService<T>

Properties​

query$​

readonly query$: Observable<RuleGroup<T>>;

Defined in: packages/rxdb-model/src/query-builder/services/query-builder.service.ts:120

RxDB Query 格式的 Observable


rootGroup$​

readonly rootGroup$: Observable<QueryBuilderRuleGroup<T>>;

Defined in: packages/rxdb-model/src/query-builder/services/query-builder.service.ts:110

根规则组的 Observable


state$​

readonly state$: Observable<QueryBuilderState<T>>;

Defined in: packages/rxdb-model/src/query-builder/services/query-builder.service.ts:105

状态变更的 Observable 流


validation$​

readonly validation$: Observable<ValidationResult>;

Defined in: packages/rxdb-model/src/query-builder/services/query-builder.service.ts:115

校验结果的 Observable

Methods​

addGroup()​

addGroup(parentGroupId?, combinator?): string;

Defined in: packages/rxdb-model/src/query-builder/services/query-builder.service.ts:261

添加规则组

Parameters​

ParameterTypeDefault value
parentGroupIdstring | nullnull
combinator"and" | "or"DEFAULT_COMBINATOR

Returns​

string


addRule()​

addRule(parentGroupId?, rule?): string;

Defined in: packages/rxdb-model/src/query-builder/services/query-builder.service.ts:237

添加规则

Parameters​

ParameterTypeDefault value
parentGroupIdstring | nullnull
rule?Partial<Omit<UIRule, "id">>undefined

Returns​

string


clear()​

clear(): void;

Defined in: packages/rxdb-model/src/query-builder/services/query-builder.service.ts:366

清空所有规则

Returns​

void


destroy()​

destroy(): void;

Defined in: packages/rxdb-model/src/query-builder/services/query-builder.service.ts:373

销毁服务

Returns​

void


fromRxDBQuery()​

fromRxDBQuery(query): void;

Defined in: packages/rxdb-model/src/query-builder/services/query-builder.service.ts:392

从 RxDB Query 加载

同时接受 RuleGroup(无 id)和 QueryBuilderRuleGroup(有 id)。 内部会重新分配 id,原始 id 会被忽略。

Parameters​

ParameterType
query| QueryBuilderRuleGroup<T> | RuleGroup<T>

Returns​

void


getConfig()​

getConfig(): QueryBuilderConfig<T>;

Defined in: packages/rxdb-model/src/query-builder/services/query-builder.service.ts:190

获取当前配置

Returns​

QueryBuilderConfig<T>


getFields()​

getFields(): FieldMetadata[];

Defined in: packages/rxdb-model/src/query-builder/services/query-builder.service.ts:211

获取字段列表

Returns​

FieldMetadata[]


getMaxNestingLevel()​

getMaxNestingLevel(): number;

Defined in: packages/rxdb-model/src/query-builder/services/query-builder.service.ts:197

获取最大嵌套层级

Returns​

number


getOperatorRegistry()​

getOperatorRegistry(): OperatorRegistry;

Defined in: packages/rxdb-model/src/query-builder/services/query-builder.service.ts:228

获取操作符注册表

Returns​

OperatorRegistry


getState()​

getState(): QueryBuilderState<T>;

Defined in: packages/rxdb-model/src/query-builder/services/query-builder.service.ts:183

获取当前状态快照

Returns​

QueryBuilderState<T>


isValid()​

isValid(): boolean;

Defined in: packages/rxdb-model/src/query-builder/services/query-builder.service.ts:412

检查当前状态是否有效

Returns​

boolean


moveItem()​

moveItem(
itemId,
targetGroupId,
targetIndex
): void;

Defined in: packages/rxdb-model/src/query-builder/services/query-builder.service.ts:326

移动规则或组到目标分组的指定位置

Parameters​

ParameterType
itemIdstring
targetGroupIdstring
targetIndexnumber

Returns​

void


remove()​

remove(itemId): void;

Defined in: packages/rxdb-model/src/query-builder/services/query-builder.service.ts:311

删除规则或组

Parameters​

ParameterType
itemIdstring

Returns​

void


setFields()​

setFields(fields): void;

Defined in: packages/rxdb-model/src/query-builder/services/query-builder.service.ts:218

设置字段列表

Parameters​

ParameterType
fieldsFieldMetadata[]

Returns​

void


setMaxNestingLevel()​

setMaxNestingLevel(level): void;

Defined in: packages/rxdb-model/src/query-builder/services/query-builder.service.ts:204

动态更新最大嵌套层级

Parameters​

ParameterType
levelnumber

Returns​

void


toRxDBQuery()​

toRxDBQuery(): RuleGroup<T>;

Defined in: packages/rxdb-model/src/query-builder/services/query-builder.service.ts:382

获取 RxDB Query 格式

Returns​

RuleGroup<T>


updateGroupCombinator()​

updateGroupCombinator(groupId, combinator): void;

Defined in: packages/rxdb-model/src/query-builder/services/query-builder.service.ts:302

更新组的组合器

Parameters​

ParameterType
groupIdstring
combinator"and" | "or"

Returns​

void


updateRule()​

updateRule(ruleId, updates): void;

Defined in: packages/rxdb-model/src/query-builder/services/query-builder.service.ts:289

更新规则

Parameters​

ParameterType
ruleIdstring
updatesPartial<Omit<UIRule, "id">>

Returns​

void


validate()​

validate(): ValidationResult;

Defined in: packages/rxdb-model/src/query-builder/services/query-builder.service.ts:402

执行校验并返回结果

Returns​

ValidationResult