You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已定位图数据库顶点,如何检索其关联的所有文档?

获取指定顶点关联的所有文档

嘿,既然你已经成功定位到目标顶点(_id为spec/3834670),要获取它关联的所有文档其实很简单,核心是利用ArangoDB的边集合来遍历关联关系。下面给你两种常用的实现方式:

方法1:使用GRAPH_NEIGHBORS函数(推荐,适用于已知图名称的场景)

如果你已经创建了包含该顶点和边的图(比如图名为spec_graph),可以直接用这个函数快速获取所有关联顶点,写法简洁高效:

FOR neighbor IN GRAPH_NEIGHBORS('spec_graph', 'spec/3834670', {
  includeData: true,  // 返回关联顶点的完整数据,而不只是ID
  direction: 'any'    // 可选参数:'outbound'只找出边关联的顶点、'inbound'只找入边关联的顶点、'any'双向都包含
})
RETURN neighbor

方法2:手动遍历边集合(适用于不知道图名称的场景)

如果你不确定图的名称,但知道用来关联顶点的边集合(比如边集合名为spec_edges),可以通过遍历边来定位关联的顶点,灵活性更高:

// 先筛选出所有与目标顶点相连的边
FOR edge IN spec_edges
FILTER edge._from == 'spec/3834670' OR edge._to == 'spec/3834670'
// 根据边的方向,获取对应的关联顶点
LET relatedVertex = DOCUMENT(edge._from == 'spec/3834670' ? edge._to : edge._from)
RETURN relatedVertex

几个小提示

  • 记得把示例里的spec_graph(图名称)和spec_edges(边集合名称)替换成你实际使用的名称;
  • 如果只需要特定方向的关联文档,比如只获取该顶点指向的文档,方法1可以把direction改成outbound,方法2可以把FILTER条件改成edge._from == 'spec/3834670';
  • 就算关联的文档属于不同的集合,这两种方法都能正常工作,因为GRAPH_NEIGHBORS和DOCUMENT函数都支持跨集合查询。

内容的提问来源于stack exchange,提问作者cantona_7

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:09:12