跳到主要内容

prepareIncrementalUpdate()

function prepareIncrementalUpdate<T, RT>(task, data): IncrementalUpdateContext<T>;

Defined in: packages/rxdb/src/query/merge-update.utils.ts:216

为一批 UPDATE 事件准备增量合并上下文。

这是插件实现增量合并的入口原语:插件(如树查询)拿到 task 与本批事件后, 先调它得到 { cache, classification },再按自己的 task 类型决定怎么改 task.result。

它封住三处纯内部装配——完整实体怎么反序列化、where 判定器是哪个、缓存怎么建。 这三处不外泄有实际约束力:where 判定必须基于完整实体,patch/inversePatch 只是 增量字段,复合 where 下拿裸 patch 判定会因字段缺失恒判 false,让 newlyUnmatchedIds 漏算、count 静默偏差。各插件自行接线就是各写一份判定,漂移了也不会报错。

进基线后受兼容承诺约束,见 website/docs/versioning.md。

Type Parameters​

Type ParameterDefault type
T extends EntityType-
RTunknown

Parameters​

ParameterTypeDescription
taskQueryTask<T, RT>正在合并的查询任务;task.options.where 为空时视为全匹配
dataRxDBEntityLocalUpdatedEventData<T>[]本批本地 UPDATE 事件

Returns​

IncrementalUpdateContext<T>