如何获取用于分页的ArangoDB AQL总数

how to get total number of ArangoDB AQL for paging

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)}

还有什么好的方法可以得到这个吗?

我从 arangodb spring 数据项目中找到了这个答案。

AqlQueryOptionsfullCount()功能,可以return查询总计数。

并且您可以return包含查询内容和分页信息的PageImpl