IRepository<T>
Defined in: packages/rxdb/src/repository/repository.interface.ts:16
数据仓库管理接口
一个 IRepository 对应一个实体的所有 CRUD + 查询能力。
适配器(rxdb-adapter-sqlite / -pglite / -supabase / -sqliteai)
通过 AdapterRepositoryConstructor 提供本接口的实现,
Repository(Repository)则把"同步 + 事务 + 缓存"叠加上去。
Remarks
不做合并:写入是逐实体的,调用方需要事务时走 TransactionExecutor;
不做订阅:本接口只承诺 Promise 形式的拉取结果,实时通知由 QueryManager
的 Observable 单独承担 —— 让两套 API 各司其职,调用方按需挑选。
Extended by
Type Parameters
| Type Parameter |
|---|
T extends EntityType |
Methods
count()
count(options): Promise<number>;
Defined in: packages/rxdb/src/repository/repository.interface.ts:35
查询实体数量
Parameters
| Parameter | Type | Description |
|---|---|---|
options | EntityStaticType<T, "countOptions"> | 查询选项(详见 CountOptions) |
Returns
Promise<number>
满足条件的行数
create()
create(entity): Promise<InstanceType<T>>;
Defined in: packages/rxdb/src/repository/repository.interface.ts:43
创建实体
Parameters
| Parameter | Type | Description |
|---|---|---|
entity | InstanceType<T> | 实体实例(通常由 EntityManager.instantiate 创建) |
Returns
Promise<InstanceType<T>>
持久化完成后的实体;与入参不是同一引用(实现可换新实例)
find()
find(options): Promise<InstanceType<T>[]>;
Defined in: packages/rxdb/src/repository/repository.interface.ts:27
查询多个实体
Parameters
| Parameter | Type | Description |
|---|---|---|
options | EntityStaticType<T, "findOptions"> | 查询选项(详见 FindOptions) |
Returns
Promise<InstanceType<T>[]>
满足条件的实体数组;无匹配返回空数组(不抛错)
Remarks
返回的是实体实例(带状态机),不是裸数据 —— 调用方后续 save() / remove()
等操作会沿用同一个状态对象,避免"查询回来就丢上下文"。
remove()
remove(entity): Promise<InstanceType<T>>;
Defined in: packages/rxdb/src/repository/repository.interface.ts:60
删除实体
Parameters
| Parameter | Type | Description |
|---|---|---|
entity | InstanceType<T> | 待删除的实体(按 id 定位) |
Returns
Promise<InstanceType<T>>
删除完成后的实体(字段清空、local 置为 false)
update()
update(entity, patch): Promise<InstanceType<T>>;
Defined in: packages/rxdb/src/repository/repository.interface.ts:52
更新实体
Parameters
| Parameter | Type | Description |
|---|---|---|
entity | InstanceType<T> | 待更新的实体(提供 id 与最新字段) |
patch | Partial<InstanceType<T>> | 字段级 patch;未列出的字段不会被改动 |
Returns
Promise<InstanceType<T>>
持久化完成后的实体