Array-, list- och set-funktioner
Profile Query Language (PQL) erbjuder funktioner som gör det enklare att interagera med arrayer, listor och strängar. Mer information om andra PQL-funktioner finns i Profile Query Language översikten.
I
Funktionen in används för att avgöra om ett objekt är medlem i en matris eller lista som ett booleskt värde.
Format
{VALUE} in {ARRAY}
Exempel
Följande PQL-fråga definierar personer med födelsedagar i mars, juni eller september.
person.birthMonth in [3, 6, 9]
Inte i
Funktionen notIn används för att avgöra om ett objekt inte är medlem i en matris eller lista som booleskt värde.
notIn-funktionen ser också till att inget av värdena är lika med null. Resultatet är därför inte en exakt negation av funktionen in.Format
{VALUE} notIn {ARRAY}
Exempel
Följande PQL-fråga definierar personer med födelsedagar som inte infaller i mars, juni eller september.
person.birthMonth notIn [3, 6, 9]
Överlappningar
Funktionen intersects används för att avgöra om två arrayer eller listor har minst en gemensam medlem som boolesk.
Format
{ARRAY}.intersects({ARRAY})
Exempel
Följande PQL-fråga definierar personer vars favoritfärger innehåller minst en röd, blå eller grön färg.
person.favoriteColors.intersects(["red", "blue", "green"])
Skärningspunkt
Funktionen intersection används för att bestämma de gemensamma medlemmarna i två arrayer eller listor som en lista.
Format
{ARRAY}.intersection({ARRAY})
Exempel
Följande PQL-fråga definierar om person 1 och person 2 båda har favoritfärgerna rött, blått och grönt.
person1.favoriteColors.intersection(person2.favoriteColors) = ["red", "blue", "green"]
Delmängd av
Funktionen subsetOf används för att avgöra om en viss array (array A) är en delmängd av en annan array (array B). Det vill säga att alla element i array A är element i array B som booleska.
Format
{ARRAY}.subsetOf({ARRAY})
Exempel
Följande PQL-fråga definierar personer som har besökt alla sina favoritstäder.
person.favoriteCities.subsetOf(person.visitedCities)
Supermängd till
Funktionen supersetOf används för att avgöra om en viss array (array A) är en överordnad mängd till en annan array (array B). Arrayen A innehåller alltså alla element i array B som booleska.
Format
{ARRAY}.supersetOf({ARRAY})
Exempel
Följande PQL-fråga definierar personer som har ätit sushi och pizza minst en gång.
person.eatenFoods.supersetOf(["sushi", "pizza"])
Inkluderar
Funktionen includes används för att avgöra om en array eller lista innehåller ett givet objekt som ett booleskt värde.
Format
{ARRAY}.includes({ITEM})
Exempel
Följande PQL-fråga definierar personer vars favoritfärg är röd.
person.favoriteColors.includes("red")
Distinkt
Funktionen distinct används för att ta bort dubblettvärden från en array eller lista som en array.
Format
{ARRAY}.distinct()
Exempel
Följande PQL-fråga anger personer som har lagt order i mer än en butik.
person.orders.storeId.distinct().count() > 1
Gruppera efter
Funktionen groupBy används för att partitionera värden för en matris eller lista i en grupp baserat på värdet för uttrycket som en mappning från unika värden för grupperingsuttrycket till matriser som är partitioner av värdet för matrisuttrycket.
Format
{ARRAY}.groupBy({EXPRESSION})
{ARRAY}{EXPRESSION}Exempel
Följande PQL-fråga grupperar alla order som lagrar ordern på.
xEvent[type="order"].groupBy(storeId)
Filter
Funktionen filter används för att filtrera en array eller lista baserat på ett uttryck som en array eller lista, beroende på indata.
Format
{ARRAY}.filter({EXPRESSION})
{ARRAY}{EXPRESSION}Exempel
Följande PQL-fråga definierar alla personer som är 21 eller äldre.
person.filter(age >= 21)
Karta
Funktionen map används för att skapa en ny array genom att tillämpa ett uttryck på varje objekt i en given array som en array.
Format
array.map(expression)
Exempel
Följande PQL-fråga skapar en ny array med siffror och fyrkantiger värdet för de ursprungliga talen.
numbers.map(square)
Första n i matris first-n
Funktionen topN används för att returnera de första N objekten i en array, sorterade i stigande ordning baserat på det angivna numeriska uttrycket som en array.
Format
{ARRAY}.topN({VALUE}, {AMOUNT})
{ARRAY}{VALUE}{AMOUNT}Exempel
Följande PQL-fråga returnerar de fem främsta beställningarna med det högsta priset.
orders.topN(price, 5)
Senaste n i matris
Funktionen bottomN används för att returnera de sista N objekten i en array, sorterade i stigande ordning baserat på det angivna numeriska uttrycket som en array.
Format
{ARRAY}.bottomN({VALUE}, {AMOUNT})
{ARRAY}{VALUE}{AMOUNT}Exempel
Följande PQL-fråga returnerar de fem främsta beställningarna med det lägsta priset.
orders.bottomN(price, 5)
Första objektet
Funktionen head används för att returnera det första objektet i arrayen eller listan som ett objekt.
Format
{ARRAY}.head()
Exempel
Följande PQL-fråga returnerar den första av de fem främsta beställningarna med det högsta priset. Mer information om funktionen topN finns i avsnittet first n i array.
orders.topN(price, 5).head()
Nästa steg
Nu när du har lärt dig mer om arrayer, listor och inställningsfunktioner kan du använda dem i dina PQL-frågor. Mer information om andra PQL-funktioner finns i Profile Query Language-översikten.