как получить общее количество ArangoDB AQL для подкачки - PullRequest
2 голосов
/ 04 июня 2019

AQL поддерживает базовый AQL для пейджинга LIMIT offset, count.Но мне нужно получить общее количество запросов, чтобы узнать общее количество страниц.Как получить общее количество запросов?

Я знаю функцию 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)}

Есть ли еще что-то хорошее?идея получить это?

1 Ответ

2 голосов
/ 06 июня 2019

Я нашел этот ответ в проекте данных весны arangodb.

AqlQueryOptions имеет функцию fullCount(), чтобы вернуть общее количество запросов.

, и вы можете вернуть PageImpl, который содержит содержание запроса и информацию о нумерации страниц.

...