Profile Query Language (PQL) offre funzioni che semplificano l’interazione con array, elenchi e stringhe. Ulteriori informazioni sulle altre funzioni PQL sono disponibili nella sezione Profile Query Language panoramica.
La in
viene utilizzata per determinare se un elemento è membro di una matrice o di un elenco.
Formato
{VALUE} in {ARRAY}
Esempio
La seguente query PQL definisce le persone con i compleanni a marzo, giugno o settembre.
person.birthMonth in [3, 6, 9]
La notIn
viene utilizzata per determinare se un elemento non è membro di una matrice o di un elenco.
La notIn
Funzione anche assicura che nessuno dei due valori sia uguale a null. Pertanto, i risultati non sono una negazione esatta del in
funzione .
Formato
{VALUE} notIn {ARRAY}
Esempio
La seguente query PQL definisce le persone con compleanni che non si trovano a marzo, giugno o settembre.
person.birthMonth notIn [3, 6, 9]
La intersects
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"])
La intersection
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"]
La subsetOf
viene utilizzata per determinare se un array specifico (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)
La supersetOf
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"])
La includes
viene utilizzata per determinare se una matrice 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")
La distinct
viene utilizzata per rimuovere i valori duplicati da una matrice o da un elenco.
Formato
{ARRAY}.distinct()
Esempio
La seguente query PQL specifica le persone che hanno effettuato ordini in più di un archivio.
person.orders.storeId.distinct().count() > 1
La groupBy
viene utilizzata per suddividere i valori di una matrice o di un elenco in un gruppo in base al valore dell'espressione.
Formato
{ARRAY}.groupBy({EXPRESSION)
Argomento | Descrizione |
---|---|
{ARRAY} |
Matrice o elenco da raggruppare. |
{EXPRESSION} |
Espressione che mappa ogni elemento della matrice o dell'elenco restituito. |
Esempio
La seguente query PQL raggruppa tutti gli ordini in base ai quali è stato effettuato l’ordine di archiviazione.
orders.groupBy(storeId)
La filter
viene utilizzata per filtrare un array o un elenco in base a un'espressione.
Formato
{ARRAY}.filter({EXPRESSION})
Argomento | Descrizione |
---|---|
{ARRAY} |
Matrice o elenco da filtrare. |
{EXPRESSION} |
Espressione da cui filtrare. |
Esempio
La seguente query PQL definisce tutte le persone che hanno 21 anni o più.
person.filter(age >= 21)
La map
viene utilizzata per creare un nuovo array applicando un'espressione a ogni elemento di un array specifico.
Formato
array.map(expression)
Esempio
La seguente query PQL crea una nuova matrice di numeri e quadra il valore dei numeri originali.
numbers.map(square)
n
in matriceLa topN
viene utilizzata per restituire il primo N
elementi in una matrice, se ordinati in ordine crescente in base all'espressione numerica specificata.
Formato
{ARRAY}.topN({VALUE}, {AMOUNT})
Argomento | Descrizione |
---|---|
{ARRAY} |
Matrice o elenco da ordinare. |
{VALUE} |
Proprietà in cui ordinare la matrice 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)
n
in matriceLa bottomN
viene utilizzata per restituire l'ultima N
elementi in una matrice, se ordinati in ordine crescente in base all'espressione numerica specificata.
Formato
{ARRAY}.bottomN({VALUE}, {AMOUNT})
Argomento | Descrizione |
---|---|
{ARRAY} |
Matrice o elenco da ordinare. |
{VALUE} |
Proprietà in cui ordinare la matrice 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)
La head
viene utilizzata per restituire il primo elemento dell'array o dell'elenco.
Formato
{ARRAY}.head()
Esempio
La seguente query PQL restituisce il primo dei primi cinque ordini con il prezzo più alto. Ulteriori informazioni sulle topN
si trova nella first n
in matrice sezione .
orders.topN(price, 5).head()
Dopo aver appreso le informazioni sull'array, l'elenco e l'impostazione delle funzioni, è possibile utilizzarle all'interno delle query PQL. Per ulteriori informazioni sulle altre funzioni PQL, leggere il Panoramica della lingua della query del profilo.