跳到主要内容

QueryCachePrimary<T>

Defined in: packages/rxdb/src/repository/query-cache-engine.interface.ts:38

QueryCache 策略下的主仓储。

Remarks​

它站在门面轴上(implements IRepository),因此仍叫 *Repository 的那一类; 比普通主仓储多的只有 QueryCachePrimary.invalidateInflight —— 远端失效上报要在 返回前把在飞查询作废(US-023 D13),而那是只有读缓存才有的概念。

Extends​

Type Parameters​

Type ParameterDescription
T extends EntityType实体类型

Methods​

count()​

count(options): Promise<number>;

Defined in: packages/rxdb/src/repository/repository.interface.ts:35

查询实体数量

Parameters​

ParameterTypeDescription
optionsEntityStaticType<T, "countOptions">查询选项(详见 CountOptions)

Returns​

Promise<number>

满足条件的行数

Inherited from​

IRepository.count


create()​

create(entity): Promise<InstanceType<T>>;

Defined in: packages/rxdb/src/repository/repository.interface.ts:43

创建实体

Parameters​

ParameterTypeDescription
entityInstanceType<T>实体实例(通常由 EntityManager.instantiate 创建)

Returns​

Promise<InstanceType<T>>

持久化完成后的实体;与入参不是同一引用(实现可换新实例)

Inherited from​

IRepository.create


find()​

find(options): Promise<InstanceType<T>[]>;

Defined in: packages/rxdb/src/repository/repository.interface.ts:27

查询多个实体

Parameters​

ParameterTypeDescription
optionsEntityStaticType<T, "findOptions">查询选项(详见 FindOptions)

Returns​

Promise<InstanceType<T>[]>

满足条件的实体数组;无匹配返回空数组(不抛错)

Remarks​

返回的是实体实例(带状态机),不是裸数据 —— 调用方后续 save() / remove() 等操作会沿用同一个状态对象,避免"查询回来就丢上下文"。

Inherited from​

IRepository.find


invalidateInflight()​

invalidateInflight(): void;

Defined in: packages/rxdb/src/repository/query-cache-engine.interface.ts:46

作废此刻在飞的同步查询。

Returns​

void

Remarks​

调用之后,已经发出去、还没回来的那批同步不许把结果写回本地投影:它们问到的是 失效之前的远端状态。


remove()​

remove(entity): Promise<InstanceType<T>>;

Defined in: packages/rxdb/src/repository/repository.interface.ts:60

删除实体

Parameters​

ParameterTypeDescription
entityInstanceType<T>待删除的实体(按 id 定位)

Returns​

Promise<InstanceType<T>>

删除完成后的实体(字段清空、local 置为 false)

Inherited from​

IRepository.remove


update()​

update(entity, patch): Promise<InstanceType<T>>;

Defined in: packages/rxdb/src/repository/repository.interface.ts:52

更新实体

Parameters​

ParameterTypeDescription
entityInstanceType<T>待更新的实体(提供 id 与最新字段)
patchPartial<InstanceType<T>>字段级 patch;未列出的字段不会被改动

Returns​

Promise<InstanceType<T>>

持久化完成后的实体

Inherited from​

IRepository.update