Этот запрос работает:
FOR person IN 1..1 INBOUND @companyID employed_by
LET age = DATE_DIFF(person.age * 1000, @currentTime * 1000, 'y')
COLLECT label = age WITH COUNT INTO value
RETURN {data: label, frequency: value}
И дает мне это:
[
{
data: 18,
frequency: 69
},
{
data: 19,
frequency: 73
},
{
data: 20,
frequency: 86
}
]
Но я действительно хочу что-то вроде этого
{
data: [18, 19, 20]
frequency: [69, 73, 86]
}
Я ожидал, что следующий запрос сработает, но операторы PUSH не работают (синтаксическая ошибка), я попробовал кучу операторов PUSH в циклах FOR, но не могу заставить их работать так, как я ожидал, что означало бы, что я делаю что-то <сильное > абсолютно психически
LET data = []
LET frequency = []
LET temp =
(
FOR person IN 1..1 INBOUND @companyID employed_by
LET age = DATE_DIFF(person.age * 1000, @currentTime * 1000, 'y')
COLLECT label = age WITH COUNT INTO value
data = PUSH(data, label)
frequency = PUSH(frequency, value)
RETURN true
)
RETURN {data: data, frequency: frequency}
Любой совет будет полезен!
data
иfrequency
(несколько раз), но это не разрешено (не без побочных эффектов ). AQL не является полноценным языком программирования, и это сделано специально: запросы можно значительно оптимизировать из-за присущих AQL ограничений. Однако обычно существуют чистые решения AQL, например, с использованием подзапросов. - person CodeManX   schedule 14.05.2016