2013-02-18 40 views
10

W kontekście ArangoDB, istnieją różne muszle bazy danych kwerendy danych:Kiedy należy używać AQL?

Chociaż rozumiem użycie JavaScript i d MRuby, nie jestem pewien, dlaczego się nauczyłem i gdzie będę używał AQL. Czy są jakieś informacje na ten temat? Czy pomysł polega na pobraniu POST AQL bezpośrednio na serwer bazy danych?

Odpowiedz

6

AQL to język zapytań ArangoDB. Ma wiele sposobów na zapytanie, filtrowanie, sortowanie, ograniczanie i modyfikowanie wyniku, który zostanie zwrócony. Należy zauważyć, że AQL czyta tylko dane.

(Aktualizacja:.. Ta odpowiedź została kierowania starszą wersję ArangoDB Od wersji 2.2, funkcje zostały rozszerzone i modyfikacji danych w bazie danych możliwe jest również z AQL Aby uzyskać więcej informacji na ten temat można znaleźć w link dokumentacji na końcu odpowiedzi.)

Nie można przechowywać danych w bazie danych za pomocą AQL.

W przeciwieństwie do AQL, Javascript lub MRuby mogą odczytywać i przechowywać dane w bazie danych. Jednak ich możliwości wyszukiwania są bardzo proste i ograniczone, w porównaniu do możliwości, które otwierają się z AQL.

Możliwe jest jednak wysyłanie zapytań AQL z javascript. W arangosh JavaScript shell byś wydać zapytanie AQL takiego:

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

można znaleźć więcej informacji na AQL tutaj: http://www.arangodb.org/manuals/current/Aql.html

+1

Dzięki! W dokumentacji jest napisane: "Możesz uruchamiać kwerendy AQL ze swojej aplikacji za pośrednictwem interfejsu HTTP REST API" ... więc mogę też uruchomić AQL z np. Curl? – poseid

+1

Dokładnie. W rzeczywistości wszystkie sterowniki języków używają interfejsu REST API HTTP. REST API to interfejs ArangoBD do świata. Jeśli np. Programujesz w języku, który nie ma jeszcze dostępnego sterownika, możesz rozpocząć projekt zapisując własny sterownik. To wszystko jest HTTP. – thesilentman

+0

Nie jestem pewien co do stanu rzeczy w lutym, ale z AQL można zdecydowanie zmienić i przechowywać dane w bazie danych (przykład: https://www.arangodb.com/tutorial-node-js/#aql-update). Nie ma znaczenia, jak działa AQL, ma zawsze te same możliwości. – mohamnag

Powiązane problemy