跳到主要内容

calculateOrderBy()

function calculateOrderBy<T>(result, orderBy): T[];

Defined in: packages/rxdb/src/query/query-matching.utils.ts:464

按 orderBy 给一批结果排序。

Type Parameters​

Type Parameter
T

Parameters​

ParameterTypeDescription
resultT[]待排序的结果,不就地修改,返回新数组
orderByOrderBy<string>[]排序字段与方向,按数组顺序逐级比较

Returns​

T[]

排好序的新数组

Remarks​

与 isEntityMatchWhere 成对:前者判「这一行算不算命中」,本函数判「命中的这批怎么排」。 增量合并(query/merge_*.ts)用它把新到的行插到正确位置,插件侧模拟仓库时也必须用它, 否则模拟出来的顺序与真实查询不一致,测试就守不住真正的行为。

字段取值走 lodash 的路径语义,因此 'author.name' 这样的嵌套字段可直接作为排序键。