AQL (ArangoDB Query Language) ist die Abfragesprache, die in der NoSQL-Datenbank ArangoDB verwendet wird. Sie ist eine deklarative Sprache, die es ermöglicht, Daten aus einer oder mehreren Sammlungen (Collections) abzurufen, zu filtern, zu transformieren und zu aggregieren. AQL ist sowohl für dokumentenorientierte als auch für graphorientierte Operationen optimiert und unterstützt auch Joins über mehrere Sammlungen hinweg.
Kernkonzepte:
FOR
-Loop, der über eine oder mehrere Sammlungen iteriert, optionalen FILTER
-Bedingungen, COLLECT
-Operationen zur Aggregation und einer RETURN
-Anweisung, die das Ergebnis der Abfrage definiert.FOR
-Schleife: Der FOR
-Loop ist das Herzstück jeder AQL-Abfrage. Er iteriert über alle Dokumente in einer angegebenen Sammlung. Mehrere FOR
-Loops können verwendet werden, um Joins zwischen Sammlungen zu realisieren. Siehe: FOR%20SchleifeFILTER
: Die FILTER
-Klausel wird verwendet, um die Dokumente zu filtern, die im FOR
-Loop verarbeitet werden. Sie ermöglicht es, nur Dokumente auszuwählen, die bestimmte Kriterien erfüllen. Siehe: FILTERCOLLECT
: Die COLLECT
-Klausel ermöglicht das Gruppieren und Aggregieren von Daten. Sie kann verwendet werden, um beispielsweise die Anzahl der Dokumente in einer Gruppe zu zählen oder statistische Berechnungen durchzuführen. Siehe: COLLECTRETURN
: Die RETURN
-Anweisung definiert, welche Daten von der Abfrage zurückgegeben werden sollen. Sie kann verwendet werden, um einzelne Felder, ganze Dokumente oder berechnete Werte zurückzugeben. Siehe: RETURNFOR
-Loops und FILTER
-Bedingungen erreicht werden. Siehe: JoinsBeispiel:
FOR doc IN myCollection
FILTER doc.age > 18
RETURN doc
Diese Abfrage iteriert über alle Dokumente in der Sammlung myCollection
, filtert die Dokumente, deren Feld age
größer als 18 ist, und gibt diese Dokumente zurück.
Vorteile:
Ne Demek sitesindeki bilgiler kullanıcılar vasıtasıyla veya otomatik oluşturulmuştur. Buradaki bilgilerin doğru olduğu garanti edilmez. Düzeltilmesi gereken bilgi olduğunu düşünüyorsanız bizimle iletişime geçiniz. Her türlü görüş, destek ve önerileriniz için iletisim@nedemek.page