跳到主要内容

GraphEntityBase

Defined in: rxdb-plugin-graph/src/GraphEntityBase.ts:26

图实体装饰器配置 定义了图结构所需的边关系和遍历能力

Extends​

Constructors​

Constructor​

new GraphEntityBase(initData?): GraphEntityBase;

Defined in: rxdb/dist/entity/entity-base.d.ts:129

实体基类构造函数 子类会通过 Entity 装饰器增强此构造函数

Parameters​

ParameterType
initData?unknown

Returns​

GraphEntityBase

Inherited from​

EntityBase.constructor

Properties​

createdAt​

readonly createdAt: Date;

Defined in: rxdb/dist/entity/entity-base.d.ts:53

创建时间 实体创建时自动设置为当前时间

Inherited from​

EntityBase.createdAt


createdBy?​

readonly optional createdBy?: `${string}-${string}-${string}-${string}-${string}` | null;

Defined in: rxdb/dist/entity/entity-base.d.ts:63

创建者ID 记录创建此实体的用户ID

Inherited from​

EntityBase.createdBy


id​

readonly id: `${string}-${string}-${string}-${string}-${string}`;

Defined in: rxdb/dist/entity/entity-base.d.ts:48

实体唯一标识符 自动生成的UUID,作为主键

Inherited from​

EntityBase.id


remove​

remove: () => Promise<GraphEntityBase>;

Defined in: rxdb/dist/entity/entity-base.d.ts:114

删除

Returns​

Promise<GraphEntityBase>

Inherited from​

EntityBase.remove


reset​

reset: () => void;

Defined in: rxdb/dist/entity/entity-base.d.ts:118

重置数据

Returns​

void

Inherited from​

EntityBase.reset


save​

save: () => Promise<GraphEntityBase>;

Defined in: rxdb/dist/entity/entity-base.d.ts:122

保存

Returns​

Promise<GraphEntityBase>

Inherited from​

EntityBase.save


updatedAt​

readonly updatedAt: Date;

Defined in: rxdb/dist/entity/entity-base.d.ts:58

更新时间 实体创建或更新时自动设置为当前时间

Inherited from​

EntityBase.updatedAt


updatedBy?​

readonly optional updatedBy?: `${string}-${string}-${string}-${string}-${string}` | null;

Defined in: rxdb/dist/entity/entity-base.d.ts:68

更新者ID 记录最后更新此实体的用户ID

Inherited from​

EntityBase.updatedBy


addEdge​

static addEdge: <T>(this, from, to, weight?, properties?) => Promise<void>;

Defined in: rxdb-plugin-graph/src/GraphEntityBase.ts:124

添加边

Type Parameters​

Type Parameter
T extends GraphEntityBase

Parameters​

ParameterTypeDescription
this() => T-
fromT起始节点
toT目标节点
weight?number | null边权重(可选)
properties?| GraphEdgePropertiesRecord | null边属性(可选)

Returns​

Promise<void>

Example​

const userA = new User();
const userB = new User();
await User.addEdge(userA, userB, 8, { category: 'colleague' });

count​

static count: <T>(this, options) => Observable<number>;

Defined in: rxdb/dist/entity/entity-base.d.ts:110

查询实体数量

Type Parameters​

Type Parameter
T extends EntityBase<RxDBEntityId>

Parameters​

ParameterTypeDescription
this() => T-
optionsCountOptions<() => T>查询选项,包含 where 条件

Returns​

Observable<number>

Observable 包装的数量

Inherited from​

EntityBase.count


countNeighbors​

static countNeighbors: <T, U>(this, options) => Promise<number>;

Defined in: rxdb-plugin-graph/src/GraphEntityBase.ts:68

统计邻居节点数量

Type Parameters​

Type ParameterDefault type
T extends GraphEntityBase-
U extends objectobject

Parameters​

ParameterTypeDescription
this() => T-
optionsFindNeighborsOptions<() => T, GraphWhere<() => T>, U>邻居查询选项

Returns​

Promise<number>

邻居数量 Promise

Example​

// 统计好友数量
User.countNeighbors$({ entityId: 'user1', level: 1 }).subscribe(count => {
console.log(`好友数: ${count}`);
});

countNeighbors$​

static countNeighbors$: <T, U>(this, options) => Observable<number>;

Defined in: rxdb-plugin-graph/src/GraphEntityBase.ts:74

统计邻居节点数量的响应式版本。

Type Parameters​

Type ParameterDefault type
T extends GraphEntityBase-
U extends objectobject

Parameters​

ParameterType
this() => T
optionsFindNeighborsOptions<() => T, GraphWhere<() => T>, U>

Returns​

Observable<number>


find​

static find: <T>(this, options) => Observable<T[]>;

Defined in: rxdb/dist/entity/entity-base.d.ts:92

查询多个实体

Type Parameters​

Type Parameter
T extends EntityBase<RxDBEntityId>

Parameters​

ParameterTypeDescription
this() => T-
optionsFindOptions<() => T>查询选项,包含 where 条件、limit、offset 等

Returns​

Observable<T[]>

Observable 包装的实体实例数组

Inherited from​

EntityBase.find


findAll​

static findAll: <T>(this, options) => Observable<T[]>;

Defined in: rxdb/dist/entity/entity-base.d.ts:98

查询所有实体

Type Parameters​

Type Parameter
T extends EntityBase<RxDBEntityId>

Parameters​

ParameterTypeDescription
this() => T-
optionsFindAllOptions<() => T>查询选项,包含 where 条件和排序(不限制数量)

Returns​

Observable<T[]>

Observable 包装的实体实例数组

Inherited from​

EntityBase.findAll


findByCursor​

static findByCursor: <T>(this, options) => Observable<T[]>;

Defined in: rxdb/dist/entity/entity-base.d.ts:104

通过游标进行分页查询

Type Parameters​

Type Parameter
T extends EntityBase<RxDBEntityId>

Parameters​

ParameterTypeDescription
this() => T-
optionsFindByCursorOptions<() => T>游标分页选项,包含 orderBy、before/after 游标

Returns​

Observable<T[]>

Observable 包装的实体实例数组

Inherited from​

EntityBase.findByCursor


findNeighbors​

static findNeighbors: <T, U>(this, options) => Promise<GraphQueryResult<NeighborResult<() => T, GraphEdgeInfoType<U>>>>;

Defined in: rxdb-plugin-graph/src/GraphEntityBase.ts:43

查询邻居节点(带边信息)

Type Parameters​

Type ParameterDefault type
T extends GraphEntityBase-
U extends objectobject

Parameters​

ParameterTypeDescription
this() => T-
optionsFindNeighborsOptions<() => T, GraphWhere<() => T>, U>邻居查询选项,包含起始节点、方向、跳数等

Returns​

Promise<GraphQueryResult<NeighborResult<() => T, GraphEdgeInfoType<U>>>>

邻居结果 Promise

Example​

// 查询直接好友
User.findNeighbors$({ entityId: 'user1', level: 1 }).subscribe(neighbors => {
neighbors.forEach(n => {
console.log(n.node.name, n.edge.weight, n.level);
});
});

findNeighbors$​

static findNeighbors$: <T, U>(this, options) => Observable<GraphQueryResult<NeighborResult<() => T, GraphEdgeInfoType<U>>>>;

Defined in: rxdb-plugin-graph/src/GraphEntityBase.ts:49

查询邻居节点的响应式版本。

Type Parameters​

Type ParameterDefault type
T extends GraphEntityBase-
U extends objectobject

Parameters​

ParameterType
this() => T
optionsFindNeighborsOptions<() => T, GraphWhere<() => T>, U>

Returns​

Observable<GraphQueryResult<NeighborResult<() => T, GraphEdgeInfoType<U>>>>


findOne​

static findOne: <T>(this, options) => Observable<T | null>;

Defined in: rxdb/dist/entity/entity-base.d.ts:80

查找一个实体

Type Parameters​

Type Parameter
T extends EntityBase<RxDBEntityId>

Parameters​

ParameterTypeDescription
this() => T-
optionsFindOneOptions<() => T>查询选项,包含 where 条件

Returns​

Observable<T | null>

Observable 包装的实体实例或 null

Inherited from​

EntityBase.findOne


findOneOrFail​

static findOneOrFail: <T>(this, options) => Observable<T>;

Defined in: rxdb/dist/entity/entity-base.d.ts:86

查找一个实体,查不到就抛出错误

Type Parameters​

Type Parameter
T extends EntityBase<RxDBEntityId>

Parameters​

ParameterTypeDescription
this() => T-
optionsFindOneOrFailOptions<() => T>查询选项,包含 where 条件

Returns​

Observable<T>

Observable 包装的实体实例

Inherited from​

EntityBase.findOneOrFail


findPaths​

static findPaths: <T, U>(this, options) => Promise<GraphQueryResult<GraphPath<() => T>>>;

Defined in: rxdb-plugin-graph/src/GraphEntityBase.ts:98

查询两个节点之间的所有路径

Type Parameters​

Type ParameterDefault type
T extends GraphEntityBase-
U extends objectobject

Parameters​

ParameterTypeDescription
this() => T-
optionsFindPathsOptions<() => T, GraphWhere<() => T>, U>路径查询选项,包含起点、终点、深度限制等

Returns​

Promise<GraphQueryResult<GraphPath<() => T>>>

路径结果 Promise

Example​

// 查找城市间的路径
City.findPaths$({
fromId: 'beijing',
toId: 'shanghai',
maxDepth: 5
}).subscribe(paths => {
paths[0].nodes.forEach(city => console.log(city.name));
console.log(`路径长度: ${paths[0].length}`);
});

findPaths$​

static findPaths$: <T, U>(this, options) => Observable<GraphQueryResult<GraphPath<() => T>>>;

Defined in: rxdb-plugin-graph/src/GraphEntityBase.ts:104

查询路径的响应式版本。

Type Parameters​

Type ParameterDefault type
T extends GraphEntityBase-
U extends objectobject

Parameters​

ParameterType
this() => T
optionsFindPathsOptions<() => T, GraphWhere<() => T>, U>

Returns​

Observable<GraphQueryResult<GraphPath<() => T>>>


get​

static get: <T>(this, id) => Observable<T>;

Defined in: rxdb/dist/entity/entity-base.d.ts:74

根据 id 获取实体

Type Parameters​

Type Parameter
T extends EntityBase<RxDBEntityId>

Parameters​

ParameterTypeDescription
this() => T-
idT["id"]实体的唯一标识符

Returns​

Observable<T>

Observable 包装的实体实例

Inherited from​

EntityBase.get


removeEdge​

static removeEdge: <T>(this, from, to) => Promise<void>;

Defined in: rxdb-plugin-graph/src/GraphEntityBase.ts:143

移除边

Type Parameters​

Type Parameter
T extends GraphEntityBase

Parameters​

ParameterTypeDescription
this() => T-
fromT起始节点
toT目标节点

Returns​

Promise<void>

Example​

await User.removeEdge(userA, userB);