AQL支持通过LIMIT offset, count
进行分页的基本AQL。但是我需要获取查询的总数才能知道页面总数。如何获取查询的总数?
我知道LENGTH
函数用于获取某些集合的计数,但可能不适用于以下情况:
FOR v in 2 any 'Collection/id1' GRAPH 'graph-name' FILTER ... LIMIT 10 RETURN distinct v.
我想获取总数,但是无法通过RETURN distinct LENGTH(v)
我现在可以以不优雅的方式实现此目的:
LET nodeList=(FOR v IN 2 any 'Collection/id1' GRAPH 'graph-name' FILTER ... RETURN distinct v)
FOR v IN 2 any 'Collection/id1' GRAPH 'graph-name' FILTER ... limit 10 RETURN distinct {'nodes': v, 'total':LENGTH(nodeList)}
还有其他好主意吗?
答案 0 :(得分:2)
我从arangodb spring数据项目中找到了这个答案。
AqlQueryOptions
具有fullCount()
函数,以返回查询的总数。
,您可以返回PageImpl
,其中包含查询内容和分页信息。