设置了具有100万条记录事件集合已成功设置ChildEvents边缘集合
FOR c IN events
FOR p IN events
FILTER p.mynum == ( c.mynum + 1 )
INSERT { _from: c._id, _to: p._id} INTO ChildEvents
RETURN $NEW
记录总数:现在我需要显示给定节点的所有父节点或子节点。在本例中,我希望下面的查询返回从350到99999的所有节点。(350 --〉351 --〉352 --〉....999999)FOR v IN OUTBOUND“events/350”any ChildEvents RETURN v但是这个查询只返回2个记录。返回的记录数。在这种情况下如何得到n.记录数?
对于相同的设置,如果我们使用neo4J,它将返回所有节点,我希望这里有相同的行为。
非常感谢您的帮助。
1条答案
按热度按时间k75qkfdt1#
因此,子节点将具有
mynum
的最小值,而父节点将具有较高的值,对吗?对于测试集,我创建了一个events
表,如下所示:在
mynum
上创建了一个持久散列索引之后,我创建了如下所示的边:这将生成一个“从子级到父级”的图形,如下所示:
然后,从一个节点(比如
mynum == 50
)开始,获取从hopx
到hopy
的所有OUTBOUND
边(参见匿名图文档)。我限制了这些值(0到100),以保持返回文档的数量较低,但可以使用任何值。它返回101个文档,从
mynum: 50
开始,如下所示:将
x
设置为0
将返回起始节点,但将其更改为1
将排除该节点,开始返回一个跃点之外的节点:考虑到这一点,我们可以从图中的任何一点返回节点。
...只会传回两个节点:
您还可以通过变量定义“跳数”值:
看起来您无法从表中驱动它们(DB无法构建计划),但您可以创建绑定参数并以这种方式传递值:
使用绑定参数取决于语言,但以下链接可帮助您入门: