Мне нужно возвращать значение для каждой даты между начальной и конечной датой.
Для каждого row
: если дата существует в row.date
, тогда мне нужно вернуть row.myValue
, иначе мне нужно вернуть ноль.
Пример:
dateRange = {start: '2018-01-01', end: '2018-01-03'}
aqlCollection = [
{date: '2018-01-01', myVal: 1},
{date: '2018-01-02', myVal: 2},
{date: '2017-05-18', myVal: 3}
]
Это должно вернуть:
[
{'2018-01-01': 1},
{'2018-01-02': 2},
{'2018-01-03': null}
]
Это можно сделать просто, если в arangodb был цикл WHILE
.Или, если бы я мог использовать цикл с использованием инкремента вместо FOR date IN dates
, тогда я мог бы просто сказать FOR date=startRange; date<endRange; date+=24hrs
.
Любые идеи о том, как этого можно достичь в запросе Аранго?Если это невозможно, я сделаю цикл O (n) после простого запроса по дате и добавлю все несуществующие даты.