跳到主要内容

findAll

findAll 返回满足条件的全部结果,不做分页截断。

签名

findAll(options: FindAllOptions<T>): Observable<InstanceType<T>[]>
interface FindAllOptions<T> {
where: RuleGroup<InstanceType<T>>;
orderBy?: OrderBy[];
}

基础用法

import { firstValueFrom } from 'rxjs';

const allTodos = await firstValueFrom(
Todo.findAll({
where: { combinator: 'and', rules: [] },
orderBy: [{ field: 'createdAt', sort: 'desc' }]
})
);

适合场景

  • 配置项列表
  • 小型字典表
  • 导出前的全量拉取
  • 本地内存里的二次加工

不适合场景

  • 大表分页
  • 无限滚动
  • 你只需要前几十条

这些场景请改用 findfindByCursor

性能提醒

findAll 会把所有匹配结果都拉回来。数据量大时,即使 API 本身没问题,UI 和内存也会先扛不住。

如数据量可能持续增长,应避免使用 findAll