Show Menu
ARGOMENTI×

Funzioni di array, elenco e set

Profile Query Language (PQL) offre funzioni che semplificano l'interazione con array, elenchi e stringhe. Ulteriori informazioni sulle altre funzioni PQL sono disponibili nella Profile Query Language panoramica .

In

La in funzione viene utilizzata per determinare se un elemento è un membro di una matrice o di un elenco.
Formato
{VALUE} in {ARRAY}

Esempio
La seguente query PQL definisce le persone con compleanni a marzo, giugno o settembre.
person.birthMonth in [3, 6, 9]

Not in

La notIn funzione viene utilizzata per determinare se un elemento non è un membro di una matrice o di un elenco.
La notIn funzione assicura inoltre che nessuno dei due valori sia uguale a null. Pertanto, i risultati non sono una negazione esatta della in funzione.
Formato
{VALUE} notIn {ARRAY}

Esempio
La seguente query PQL definisce le persone con compleanni che non sono in marzo, giugno o settembre.
person.birthMonth notIn [3, 6, 9]

Interseca

La intersects funzione viene utilizzata per determinare se due array o elenchi hanno almeno un membro comune.
Formato
{ARRAY}.intersects({ARRAY})

Esempio
La seguente query PQL definisce le persone i cui colori preferiti includono almeno uno di rosso, blu o verde.
person.favoriteColors.intersects(["red", "blue", "green"])

Intersection

La intersection funzione viene utilizzata per determinare i membri comuni di due array o elenchi.
Formato
{ARRAY}.intersection({ARRAY})

Esempio
La seguente query PQL definisce se la persona 1 e la persona 2 hanno entrambi i colori preferiti di rosso, blu e verde.
person1.favoriteColors.intersection(person2.favoriteColors) = ["red", "blue", "green"]

Sottoinsieme di

La subsetOf funzione viene utilizzata per determinare se una matrice specifica (array A) è un sottoinsieme di un altro array (array B). In altre parole, tutti gli elementi dell'array A sono elementi dell'array B.
Formato
{ARRAY}.subsetOf({ARRAY})

Esempio
La seguente query PQL definisce le persone che hanno visitato tutte le loro città preferite.
person.favoriteCities.subsetOf(person.visitedCities)

Superset di

La supersetOf funzione viene utilizzata per determinare se un array specifico (array A) è un superset di un altro array (array B). In altre parole, l'array A contiene tutti gli elementi dell'array B.
Formato
{ARRAY}.supersetOf({ARRAY})

Esempio
La seguente query PQL definisce le persone che hanno mangiato sushi e pizza almeno una volta.
person.eatenFoods.supersetOf(["sushi", "pizza"])

Include

La includes funzione viene utilizzata per determinare se un array o un elenco contiene un elemento specificato.
Formato
{ARRAY}.includes({ITEM})

Esempio
La seguente query PQL definisce le persone il cui colore preferito include il rosso.
person.favoriteColors.includes("red")

Distinto

La distinct funzione viene utilizzata per rimuovere i valori duplicati da un array o da un elenco.
Formato
{ARRAY}.distinct()

Esempio
La seguente query PQL specifica le persone che hanno effettuato ordini in più store.
person.orders.storeId.distinct().count() > 1

Raggruppa per

La groupBy funzione viene utilizzata per suddividere i valori di un array o di un elenco in un gruppo in base al valore dell'espressione.
Formato
{ARRAY}.groupBy({EXPRESSION)

Argomento
Descrizione
{ARRAY}
L'array o l'elenco da raggruppare.
{EXPRESSION}
Espressione che mappa ogni elemento nell'array o nell'elenco restituito.
Esempio
La seguente query PQL raggruppa tutti gli ordini in base ai quali viene memorizzato l'ordine.
orders.groupBy(storeId)

Filtro

La filter funzione viene utilizzata per filtrare un array o un elenco basato su un'espressione.
Formato
{ARRAY}.filter({EXPRESSION})

Argomento
Descrizione
{ARRAY}
L'array o l'elenco da filtrare.
{EXPRESSION}
Espressione da cui filtrare.
Esempio
La seguente query PQL definisce tutte le persone con almeno 21 anni di età.
person.filter(age >= 21)

Mappa

La map funzione viene utilizzata per creare un nuovo array applicando un'espressione a ogni elemento di un dato array.
Formato
array.map(expression)

Esempio
La seguente query PQL crea una nuova matrice di numeri e quadrati il valore dei numeri originali.
numbers.map(square)

Primo n array

La topN funzione viene utilizzata per restituire i primi N elementi di un array, se ordinati in ordine crescente in base alla specifica espressione numerica.
Formato
{ARRAY}.topN({VALUE}, {AMOUNT})

Argomento
Descrizione
{ARRAY}
L'array o l'elenco da ordinare.
{VALUE}
La proprietà in cui ordinare l'array o l'elenco.
{AMOUNT}
Numero di elementi da restituire.
Esempio
La seguente query PQL restituisce i primi cinque ordini con il prezzo più alto.
orders.topN(price, 5)

Ultimo n nell'array

La bottomN funzione viene utilizzata per restituire gli ultimi N elementi di un array, se ordinati in ordine crescente in base alla specifica espressione numerica.
Formato
{ARRAY}.bottomN({VALUE}, {AMOUNT})

Argomento
Descrizione
{ARRAY}
L'array o l'elenco da ordinare.
{VALUE}
La proprietà in cui ordinare l'array o l'elenco.
{AMOUNT}
Numero di elementi da restituire.
Esempio
La seguente query PQL restituisce i primi cinque ordini con il prezzo più basso.
orders.bottomN(price, 5)

Primo elemento

La head funzione viene utilizzata per restituire il primo elemento nell'array o nell'elenco.
Formato
{ARRAY}.head()

Esempio
La seguente query PQL restituisce il primo dei primi cinque ordini con il prezzo più alto. Ulteriori informazioni sulla topN funzione sono reperibili nella prima .
orders.topN(price, 5).head()

Passaggi successivi

Dopo aver appreso le funzioni di array, elenco e set, è possibile utilizzarle nelle query PQL. Per ulteriori informazioni sulle altre funzioni PQL, consultate la panoramica Lingua query profilo.