跳到主要内容

handle_flatmap_contains()

function handle_flatmap_contains(
entityMetadata,
originalField,
rule
): string | null;

Defined in: packages/rxdb-adapter-sqlite-core/src/query/query_sql.utils.ts:433

处理 keyValue 字段的 contains/notContains 查询

Parameters​

ParameterType
entityMetadataEntityMetadata
originalFieldstring
ruleQueryRuleValue

Returns​

string | null

Remarks​

已知限制:当前实现假定点号仅用于嵌套路径分隔。 如果 keyValue 对象内部的键本身包含点号,此方法将无法正确工作。 详见 query_sql.ts 中 _try_process_top_level_flatmap 的文档说明。

返回 null 表示「这条规则不归本函数管」(交回通用子串路径),与「匹配空集」是两回事 —— 后者必须返回恒真/恒假常量。曾经在条目全为空时返回 '':build_substring_rule 只把 null 当作「不归我管」,于是空串被原样带出,再被 buildRuleGroup 的 .filter(Boolean) 删掉, 一条本该收窄结果的 contains 过滤器换到了整张表。