array-, list- und set-Funktionen

Profile Query Language (PQL) Angebot-Funktionen, um die Interaktion mit Arrays, Listen und Zeichenfolgen zu vereinfachen. More information about other PQL functions can be found in the Profile Query Language overview.

Enthalten

Mit der in-Funktion wird bestimmt, ob ein Element einem Array oder einer Liste angehört.

Format

{VALUE} in {ARRAY}

Beispiel

Die folgende PQL-Abfrage definiert Personen, die im März, Juni oder September Geburtstag haben.

person.birthMonth in [3, 6, 9]

Nicht enthalten

Mit der notIn-Funktion wird bestimmt, ob ein Element einem Array oder einer Liste nicht angehört.

HINWEIS

Die notIn-Funktion stellt außerdem sicher, dass keiner der Werte null ist. Daher sind die Ergebnisse keine exakte Negation der in-Funktion.

Format

{VALUE} notIn {ARRAY}

Beispiel

Die folgende PQL-Abfrage definiert Personen, die nicht im März, Juni oder September Geburtstag haben.

person.birthMonth notIn [3, 6, 9]

Schnittmengen

Mit der intersects-Funktion wird bestimmt, ob zwei Arrays oder Listen mindestens ein gemeinsames Element aufweisen.

Format

{ARRAY}.intersects({ARRAY})

Beispiel

Die folgende PQL-Abfrage definiert Personen, deren Lieblingsfarben mindestens eine der folgenden Farben beinhalten: Rot, Blau oder Grün.

person.favoriteColors.intersects(["red", "blue", "green"])

Schnittmenge

Die intersection-Funktion dient zur Bestimmung der gemeinsamen Elemente von zwei Arrays oder Listen.

Format

{ARRAY}.intersection({ARRAY})

Beispiel

Die folgende PQL-Abfrage definiert, ob unter den Lieblingsfarben von Person 1 und auch Person 2 die Farben Rot, Blau und Grün sind.

person1.favoriteColors.intersection(person2.favoriteColors) = ["red", "blue", "green"]

Teilmenge von

Mit der subsetOf-Funktion wird bestimmt, ob ein bestimmtes Array (Array A) eine Teilmenge eines anderen Arrays (Array B) ist. Mit anderen Worten: ob alle Elemente in Array A Elemente von Array B sind.

Format

{ARRAY}.subsetOf({ARRAY})

Beispiel

Die folgende PQL-Abfrage definiert Personen, die alle ihrer Lieblingsstädte besucht haben.

person.favoriteCities.subsetOf(person.visitedCities)

Obermenge

Mit der supersetOf-Funktion wird bestimmt, ob ein bestimmtes Array (Array A) eine Obermenge eines anderen Arrays (Array B) ist. Mit anderen Worten: ob Array A alle Elemente in Array B enthält.

Format

{ARRAY}.supersetOf({ARRAY})

Beispiel

Die folgende PQL-Abfrage definiert Personen, die mindestens einmal Sushi und mindestens einmal Pizza gegessen haben.

person.eatenFoods.supersetOf(["sushi", "pizza"])

Enthält

Mit der includes-Funktion wird bestimmt, ob ein Array oder eine Liste ein bestimmtes Element enthält.

Format

{ARRAY}.includes({ITEM})

Beispiel

Die folgende PQL-Abfrage definiert Personen, zu deren Lieblingsfarben Rot gehört.

person.favoriteColors.includes("red")

Verschieden

Die distinct-Funktion dient dazu, doppelt vorhandene Werte aus einem Array oder einer Liste zu entfernen.

Format

{ARRAY}.distinct()

Beispiel

Die folgende PQL-Abfrage definiert Personen, die Bestellungen in mehr als einem Geschäft aufgegeben haben.

person.orders.storeId.distinct().count() > 1

Gruppieren nach

Die groupBy-Funktion dient dazu, Werte eines Arrays oder einer Liste basierend auf dem Wert des Ausdrucks in eine Gruppe zu unterteilen.

Format

{ARRAY}.groupBy({EXPRESSION)
Argument Beschreibung
{ARRAY} Das zu gruppierende Array oder die zu gruppierende Liste.
{EXPRESSION} Ein Ausdruck, der jedes Element im zurückgegebenen Array oder in der zurückgegebenen Liste zuordnet.

Beispiel

Die folgende PQL-Abfrage gruppiert alle Bestellungen anhand des Geschäfts, in dem die Bestellung aufgegeben wurde.

orders.groupBy(storeId)

Filter

Die filter-Funktion wird zum Filtern eines Arrays oder einer Liste anhand eines Ausdrucks verwendet.

Format

{ARRAY}.filter({EXPRESSION})
Argument Beschreibung
{ARRAY} Das zu filternde Array oder die zu filternde Liste.
{EXPRESSION} Ein Ausdruck, nach dem gefiltert werden soll.

Beispiel

Die folgende PQL-Abfrage definiert alle Personen, die mindestens 21 Jahre alt sind.

person.filter(age >= 21)

Zuordnung

Die map-Funktion wird zum Erstellen eines neuen Arrays verwendet, indem auf jedes Element in einem Array ein Ausdruck angewendet wird.

Format

array.map(expression)

Beispiel

Mit der folgenden PQL-Abfrage wird ein neues Array mit Zahlen erstellt und der Wert der Originalzahlen quadriert.

numbers.map(square)

Erste n in Array

Die topN-Funktion gibt die ersten N Elemente in einem Array zurück, wenn sie anhand des angegebenen numerischen Ausdrucks in aufsteigender Reihenfolge sortiert werden.

Format

{ARRAY}.topN({VALUE}, {AMOUNT})
Argument Beschreibung
{ARRAY} Das zu sortierende Array oder die zu sortierende Liste.
{VALUE} Die Eigenschaft, in der das Array oder die Liste sortiert werden soll.
{AMOUNT} Die Zahl der zurückzugebenden Elemente.

Beispiel

Die folgende PQL-Abfrage gibt die fünf häufigsten Bestellungen mit dem höchsten Preis zurück.

orders.topN(price, 5)

Letzte n in Array

Die bottomN-Funktion gibt die letzten N Elemente in einem Array zurück, wenn sie anhand des angegebenen numerischen Ausdrucks in aufsteigender Reihenfolge sortiert werden.

Format

{ARRAY}.bottomN({VALUE}, {AMOUNT})
Argument Beschreibung
{ARRAY} Das zu sortierende Array oder die zu sortierende Liste.
{VALUE} Die Eigenschaft, in der das Array oder die Liste sortiert werden soll.
{AMOUNT} Die Zahl der zurückzugebenden Elemente.

Beispiel

Die folgende PQL-Abfrage gibt die fünf häufigsten Bestellungen mit dem niedrigsten Preis zurück.

orders.bottomN(price, 5)

Erstes Element

Mit der head-Funktion wird das erste Element im Array oder in der Liste zurückgegeben.

Format

{ARRAY}.head()

Beispiel

Die folgende PQL-Abfrage gibt die erste der fünf häufigsten Bestellungen mit dem höchsten Preis zurück. Weiterführende Informationen zur topN-Funktion finden Sie im Abschnitt Erste n in Array.

orders.topN(price, 5).head()

Nächste Schritte

Nachdem Sie sich mit array-, list- und set-Funktionen vertraut gemacht haben, können Sie diese nun in Ihren PQL-Abfragen verwenden. Weitere Informationen zu anderen PQL-Funktionen finden Sie in Profil Query Language – Übersicht.

Auf dieser Seite