Array, list en set-functies
Profile Query Language (PQL) biedt functies om interactie met arrays, lijsten en tekenreeksen eenvoudiger te maken. Meer informatie over andere PQL-functies vindt u in de Profile Query Language overzicht.
In
De in
wordt gebruikt om te bepalen of een punt een lid van een serie of een lijst is.
Indeling
{VALUE} in {ARRAY}
Voorbeeld
De volgende vraag PQL bepaalt mensen met verjaardagen in Maart, Juni, of September.
person.birthMonth in [3, 6, 9]
Niet in
De notIn
wordt gebruikt om te bepalen of een punt geen lid van een serie of een lijst is.
notIn
function ook zorgt ervoor dat geen van beide waarden gelijk is aan null. Daarom zijn de resultaten geen exacte ontkenning van de in
functie.Indeling
{VALUE} notIn {ARRAY}
Voorbeeld
De volgende vraag PQL bepaalt mensen met verjaardagen die niet in Maart, Juni, of September zijn.
person.birthMonth notIn [3, 6, 9]
Doorsnede
De intersects
functie wordt gebruikt om te bepalen of twee series of lijsten minstens één gemeenschappelijk lid hebben.
Indeling
{ARRAY}.intersects({ARRAY})
Voorbeeld
De volgende PQL-query definieert personen van wie de favoriete kleuren ten minste een van de kleuren rood, blauw of groen zijn.
person.favoriteColors.intersects(["red", "blue", "green"])
Doorsnede
De intersection
wordt gebruikt om de gemeenschappelijke leden van twee series of lijsten te bepalen.
Indeling
{ARRAY}.intersection({ARRAY})
Voorbeeld
De volgende PQL-query definieert of persoon 1 en persoon 2 beide favoriete kleuren rood, blauw en groen hebben.
person1.favoriteColors.intersection(person2.favoriteColors) = ["red", "blue", "green"]
Subset van
De subsetOf
wordt gebruikt om te bepalen of een specifieke array (array A) een subset is van een andere array (array B). Met andere woorden, alle elementen in array A zijn elementen van array B.
Indeling
{ARRAY}.subsetOf({ARRAY})
Voorbeeld
De volgende vraag PQL bepaalt mensen die elk van hun favoriete steden hebben bezocht.
person.favoriteCities.subsetOf(person.visitedCities)
Superset van
De supersetOf
wordt gebruikt om te bepalen of een specifieke array (array A) een superset is van een andere array (array B). Met andere woorden, die array A bevat alle elementen in array B.
Indeling
{ARRAY}.supersetOf({ARRAY})
Voorbeeld
De volgende PQL-query definieert mensen die sushi en pizza ten minste één keer hebben gegeten.
person.eatenFoods.supersetOf(["sushi", "pizza"])
Inclusief
De includes
wordt gebruikt om te bepalen of een array of lijst een bepaald item bevat.
Indeling
{ARRAY}.includes({ITEM})
Voorbeeld
De volgende PQL-query definieert personen met de favoriete kleur rood.
person.favoriteColors.includes("red")
Afzonderlijk
De distinct
wordt gebruikt om dubbele waarden uit een array of lijst te verwijderen.
Indeling
{ARRAY}.distinct()
Voorbeeld
De volgende vraag PQL specificeert mensen die orden in meer dan één opslag hebben geplaatst.
person.orders.storeId.distinct().count() > 1
Groeperen op
De groupBy
Deze functie wordt gebruikt om waarden van een array of lijst op te delen in een groep op basis van de waarde van de expressie.
Indeling
{ARRAY}.groupBy({EXPRESSION)
{ARRAY}
{EXPRESSION}
Voorbeeld
De volgende vraag PQL groepeert alle orden waardoor opslag de orde werd geplaatst bij.
orders.groupBy(storeId)
Filter
De filter
wordt gebruikt om een array of lijst te filteren op basis van een expressie.
Indeling
{ARRAY}.filter({EXPRESSION})
{ARRAY}
{EXPRESSION}
Voorbeeld
De volgende vraag PQL bepaalt alle mensen die 21 of ouder zijn.
person.filter(age >= 21)
Kaart
De map
wordt gebruikt om een nieuwe array te maken door een expressie toe te passen op elk item in een bepaalde array.
Indeling
array.map(expression)
Voorbeeld
Met de volgende PQL-query wordt een nieuwe array met getallen gemaakt en wordt de waarde van de oorspronkelijke getallen in vierkantjes geplaatst.
numbers.map(square)
Eerste n
in array first-n
De topN
function wordt gebruikt om de eerste te retourneren N
items in een array, indien gesorteerd in oplopende volgorde op basis van de opgegeven numerieke expressie.
Indeling
{ARRAY}.topN({VALUE}, {AMOUNT})
{ARRAY}
{VALUE}
{AMOUNT}
Voorbeeld
De volgende vraag PQL keert de hoogste vijf orden met de hoogste prijs terug.
orders.topN(price, 5)
Laatste n
in array
De bottomN
function wordt gebruikt om de laatste te retourneren N
items in een array, indien gesorteerd in oplopende volgorde op basis van de opgegeven numerieke expressie.
Indeling
{ARRAY}.bottomN({VALUE}, {AMOUNT})
{ARRAY}
{VALUE}
{AMOUNT}
Voorbeeld
De volgende vraag PQL keert de hoogste vijf orden met de laagste prijs terug.
orders.bottomN(price, 5)
Eerste object
De head
functie wordt gebruikt om het eerste item in de array of lijst te retourneren.
Indeling
{ARRAY}.head()
Voorbeeld
De volgende vraag PQL keert eerste van de hoogste vijf orden met de hoogste prijs terug. Meer informatie over de topN
kan worden gevonden in de first n
in array sectie.
orders.topN(price, 5).head()
Volgende stappen
Nu u over serie, lijst, en vastgestelde functies hebt geleerd, kunt u hen binnen uw vragen gebruiken PQL. Voor meer informatie over andere PQL functies, gelieve te lezen Overzicht van taal voor profielquery.