【发布时间】:2017-11-02 18:41:14
【问题描述】:
我有点不明白 ArangoDB 如何解释我的查询以及为什么简单的过滤不能按预期工作。这是我的查询:
FOR v, e, p in 3 OUTBOUND "company/jquery" company_teams, team_contributors, committed
OPTIONS {uniqueVertices: "global", bfs: true}
FILTER p.vertices[1]._key == "1055031914"
FILTER length(p.vertices[2].parents) < 2
RETURN v._id
此查询返回空结果。但是,如果我只留下一个过滤器(无论是哪一个),我都会得到结果。由此我得出结论,这不是与数据相关的问题,这意味着我误解了查询的执行方式或其他原因。
想法,想法?
【问题讨论】:
-
去掉一个过滤器并在最后一行添加
RETURN p,你会得到什么结果? -
这是一个很有趣的问题,我看到的也很有趣。即使我不知道如何解释它。这个查询返回给我一个图表
FOR v, e, p in 3 OUTBOUND "company/jquery" company_teams, team_contributors, committed OPTIONS {uniqueVertices: "global", bfs: true} //FILTER p.vertices[1]._key == "1055031914" FILTER length(p.vertices[2].parents) < 2 RETURN p -
这个结果为空
FOR v, e, p in 3 OUTBOUND "company/jquery" company_teams, team_contributors, committed OPTIONS {uniqueVertices: "global", bfs: true} FILTER p.vertices[1]._key == "1055031914" //FILTER length(p.vertices[2].parents) < 2 RETURN p@CoDEman,你有什么想法吗? -
arango 键是动态创建的,除非您自己指定一些独特的东西……也许您使用的键不存在。确保密钥存在于您使用过滤器的集合中。如果您也能提供您的查询所用的数据,那将是最好的。
-
@Prasanna,钥匙在。这是我创建的示例数据库转储以复制问题drive.google.com/open?id=1VIZFL3vcZTw5q2ur-FzZQNrAa1u1jYXx
标签: arangodb