2014-02-19 6 views
5

wir uns vor, ich ein paar einfache Dokumente in einer Arango Sammlung gespeichert haben wie so:ArangoDB AQL Non Case Sensitive Vergleich

[ 
    {"type":Cat, "quality":Fuzzy} 
    {"type":Dog, "quality":Barks} 
    {"type":Rabbit, "quality":Hoppy} 
    {"type":Pig, "quality":Chubby} 
    {"type":Red Panda, "quality":Fuzzy} 
    {"type":Monkey, "quality":Hairy} 
] 

Nun lassen Sie uns sagen, ein Benutzer für alle Tiere eine Suche in meiner Anwendung einleitet, die ‚fuzzy sind ', alles klein geschrieben. Gibt es eine Möglichkeit mit AQL einen Vergleich zu machen, bei dem die Groß-/Kleinschreibung nicht berücksichtigt wird? So zum Beispiel:

FOR a IN animals 
    FILTER a.type.toLowerCase() == fuzzy 
    RETURN a 

Jetzt weiß ich das obige Beispiel funktioniert nicht, aber es wäre schön, wenn es eine Möglichkeit, dies zu tun ist. Vielen Dank!

Antwort

6

Es gibt eine LOWER String-Funktion in AQL, die Sie versuchen können, in Ihrer Abfrage wie folgt verwenden:

FOR a IN animals 
    FILTER LOWER(a.quality) == 'fuzzy' 
    RETURN a 
+0

Große ich für so etwas gehofft! Kannst du mir zeigen, wo die Dokumentation dafür ist? Ich konnte es nicht finden. – skinneejoe

+2

Die Dokumentation der AQL-Funktionen finden Sie hier: https://www.arangodb.org/manuals/current/Aql.html#AqlFunctions – stj