Когда следует использовать AQL?

В контексте ArangoDB для запроса данных существуют разные оболочки базы данных:

Хотя я понимаю использование JavaScript и MRuby, я не уверен, почему я буду учиться, и где я буду использовать AQL. Есть ли информация об этом? Является ли идея POST AQL непосредственно на сервере базы данных?

Ответ 1

AQL - это язык запросов ArangoDB. Он имеет множество способов запроса, фильтрации, сортировки, ограничения и изменения результата, который будет возвращен. Следует отметить, что AQL только считывает данные.

(Обновление: этот ответ ориентировался на более раннюю версию ArangoDB. Начиная с версии 2.2 функции были расширены, и в AQL также возможно изменение данных в базе данных. Для получения дополнительной информации посетите ссылку документации в конце ответа.)

Вы не можете хранить данные в базе данных с помощью AQL.

В отличие от AQL, Javascript или MRuby могут считывать и хранить данные в базе данных. Однако их возможности запросов очень просты и ограничены по сравнению с возможностями, открывающимися с AQL.

Возможно послать AQL-запросы из javascript. Внутри оболочки Javascript arangosh вы должны выполнить запрос AQL следующим образом:

    arangosh> db._query('FOR user IN example FILTER user.age > 30 RETURN user').toArray()
[
  { 
    _id : "4538791/6308263", 
    _rev : "6308263", 
    age : 31, 
    name : "Musterfrau"
   }
]

Дополнительную информацию об AQL можно найти здесь: http://www.arangodb.org/manuals/current/Aql.html