Как я могу получить следующий или предыдущий элемент в коллекции arango?

У меня есть документ в ArangoDB. Мне нужно получить предыдущий документ. Как я могу получить предыдущий документ в коллекции Аранго?


person jonua    schedule 12.01.2015    source источник
comment
Что именно вы имеете в виду под предыдущим или следующим документом? Вы имеете в виду временные предыдущие или следующие документы, вставленные или обновленные в одну и ту же коллекцию?   -  person stj    schedule 12.01.2015
comment
Если вы только после доступа к документам, которые были вставлены в первый или последний раз, могут оказаться полезными команды db.collection.first() или db.collection.last().   -  person stj    schedule 12.01.2015


Ответы (1)


Мой путь:

FOR d IN MyCollection
    FILTER TO_NUMBER(d._key) < 512989295537
    SORT d._key DESC LIMIT 1
    RETURN d._key

Но, думаю, не оптимально ...

person jonua    schedule 12.01.2015
comment
Этот запрос выполнит полное сканирование коллекции без использования каких-либо индексов. Если вы можете сохранить какое-то дополнительное значение при вставке в другой атрибут (например, counter, который всегда будет увеличиваться), вы можете пропустить этот атрибут и выполнить запрос по нему. Это также было бы эффективно, так как тогда можно было бы использовать индекс. - person stj; 12.01.2015