ArangoDB - 使用遍历获取边缘信息
ArangoDB - Get edge information while using traversals
我对使用遍历快速找到链接到初始文档的所有文档很感兴趣。为此,我会使用:
let id = 'documents/18787898'
for d in documents
filter d._id == id
for i in 1..1 any d edges
return i
这通常为我提供与初始文件相关的所有文件。但是,假设在这些边上我有比标准 _from
和 _to
更多的信息。假设它还包含 order
,我在其中指明了某些内容的显示顺序。有没有办法在进行遍历的同时获取该信息?还是我现在必须对该信息进行完全独立的查询?
你很接近,但是你的图遍历有点不正确。
我阅读documentation的方式表明,您可以return vertex
、edge
和path
遍历对象:
FOR vertex[, edge[, path]]
IN [min[..max]]
OUTBOUND|INBOUND|ANY startVertex
edgeCollection1, ..., edgeCollectionN
我建议将边变量 e
添加到你的 FOR
语句中,你不需要先找到 document/vertex 匹配项(假设 id
是单个string),所以可以消去FOR
/FILTER
对:
LET id = 'documents/18787898'
FOR v, e IN 1 ANY id edges
RETURN e
我对使用遍历快速找到链接到初始文档的所有文档很感兴趣。为此,我会使用:
let id = 'documents/18787898'
for d in documents
filter d._id == id
for i in 1..1 any d edges
return i
这通常为我提供与初始文件相关的所有文件。但是,假设在这些边上我有比标准 _from
和 _to
更多的信息。假设它还包含 order
,我在其中指明了某些内容的显示顺序。有没有办法在进行遍历的同时获取该信息?还是我现在必须对该信息进行完全独立的查询?
你很接近,但是你的图遍历有点不正确。
我阅读documentation的方式表明,您可以return vertex
、edge
和path
遍历对象:
FOR vertex[, edge[, path]]
IN [min[..max]]
OUTBOUND|INBOUND|ANY startVertex
edgeCollection1, ..., edgeCollectionN
我建议将边变量 e
添加到你的 FOR
语句中,你不需要先找到 document/vertex 匹配项(假设 id
是单个string),所以可以消去FOR
/FILTER
对:
LET id = 'documents/18787898'
FOR v, e IN 1 ANY id edges
RETURN e