2013-02-18 20 views
10

Nel contesto di ArangoDB, ci sono diversi gusci di database per query di dati:Quando dovrei usare AQL?

Sebbene comprenda l'uso di JavaScript e d MRuby, non sono sicuro del motivo per cui vorrei imparare, e dove userei AQL. C'è qualche informazione su questo? L'idea di POST AQL è direttamente sul server del database?

risposta

6

AQL è il linguaggio di query di ArangoDB. Ha molti modi per interrogare, filtrare, ordinare, limitare e modificare il risultato che verrà restituito. Va notato che AQL legge solo i dati.

(Aggiornamento:.. Questa risposta è stata di mira una vecchia versione di ArangoDB Dalla versione 2.2, le funzioni sono state ampliate e la modifica dei dati nel database è possibile anche con AQL Per ulteriori informazioni su questo, visitare il link di documentazione alla fine della risposta.)

Non è possibile memorizzare i dati nel database con AQL.

Contrariamente ad AQL, Javascript o MRuby possono leggere e memorizzare i dati nel database. Tuttavia le loro capacità di interrogazione sono molto semplici e limitate, rispetto alle possibilità che si aprono con AQL.

È possibile però inviare query AQL da javascript. All'interno del arangosh Javascript shell si rilasciare una query AQL come questa:

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

è possibile trovare maggiori informazioni AQL qui: http://www.arangodb.org/manuals/current/Aql.html

+1

Grazie! Nella documentazione è scritto: "È possibile eseguire query AQL dalla propria applicazione tramite l'API REST HTTP" ... quindi, potrei anche eseguire AQL con e.g. Curl? – poseid

+1

Esattamente. Infatti, tutti i driver di lingua utilizzano l'API REST HTTP. L'API REST è l'interfaccia di ArangoBD per il mondo. Se ad esempio si programma in una lingua che non ha ancora driver disponibili, è possibile avviare un progetto scrivendo il proprio driver. È tutto HTTP. – thesilentman

+0

Non sono sicuro dello stato delle cose a febbraio, ma con AQL è possibile modificare e archiviare i dati in un database (ad esempio: https://www.arangodb.com/tutorial-node-js/#aql-update). Non importa come viene eseguito AQL, ha sempre le stesse funzionalità. – mohamnag

Problemi correlati