Profile Query Language (PQL) oferta funciones para facilitar la interacción con matrices, listas y cadenas. Encontrará más información sobre otras funciones de PQL en la Profile Query Language descripción general.
La in
función se utiliza para determinar si un elemento es miembro de una matriz o lista.
Format
{VALUE} in {ARRAY}
Ejemplo
La siguiente consulta de PQL define las personas con cumpleaños en marzo, junio o septiembre.
person.birthMonth in [3, 6, 9]
La notIn
función se utiliza para determinar si un elemento no es miembro de una matriz o lista.
La notIn
función también garantiza que ninguno de los dos valores sea igual a nulo. Por lo tanto, los resultados no son una negación exacta de la in
función.
Format
{VALUE} notIn {ARRAY}
Ejemplo
La siguiente consulta de PQL define las personas con cumpleaños que no están en marzo, junio o septiembre.
person.birthMonth notIn [3, 6, 9]
La intersects
función se utiliza para determinar si dos matrices o listas tienen al menos un miembro común.
Format
{ARRAY}.intersects({ARRAY})
Ejemplo
La siguiente consulta PQL define las personas cuyos colores favoritos incluyen al menos uno de rojo, azul o verde.
person.favoriteColors.intersects(["red", "blue", "green"])
La intersection
función se utiliza para determinar los miembros comunes de dos matrices o listas.
Format
{ARRAY}.intersection({ARRAY})
Ejemplo
La siguiente consulta PQL define si la persona 1 y la persona 2 tienen los colores favoritos rojo, azul y verde.
person1.favoriteColors.intersection(person2.favoriteColors) = ["red", "blue", "green"]
La subsetOf
función se utiliza para determinar si una matriz específica (matriz A) es un subconjunto de otra matriz (matriz B). En otras palabras, que todos los elementos de la matriz A son elementos de la matriz B.
Format
{ARRAY}.subsetOf({ARRAY})
Ejemplo
La siguiente consulta de PQL define las personas que han visitado todas sus ciudades favoritas.
person.favoriteCities.subsetOf(person.visitedCities)
La supersetOf
función se utiliza para determinar si una matriz específica (matriz A) es un superconjunto de otra matriz (matriz B). En otras palabras, la matriz A contiene todos los elementos de la matriz B.
Format
{ARRAY}.supersetOf({ARRAY})
Ejemplo
La siguiente consulta PQL define a las personas que han comido sushi y pizza al menos una vez.
person.eatenFoods.supersetOf(["sushi", "pizza"])
La includes
función se utiliza para determinar si una matriz o lista contiene un elemento determinado.
Format
{ARRAY}.includes({ITEM})
Ejemplo
La siguiente consulta PQL define las personas cuyo color favorito incluye el rojo.
person.favoriteColors.includes("red")
La distinct
función se utiliza para quitar valores de duplicado de una matriz o lista.
Format
{ARRAY}.distinct()
Ejemplo
La siguiente consulta de PQL especifica las personas que han realizado pedidos en más de una tienda.
person.orders.storeId.distinct().count() > 1
La groupBy
función se utiliza para dividir los valores de una matriz o lista en un grupo según el valor de la expresión.
Format
{ARRAY}.groupBy({EXPRESSION)
Argumento | Descripción |
---|---|
{ARRAY} |
Matriz o lista que se va a agrupar. |
{EXPRESSION} |
Expresión que asigna cada elemento de la matriz o lista devuelta. |
Ejemplo
La siguiente consulta PQL agrupa todos los pedidos en los que se realizó el pedido.
orders.groupBy(storeId)
La filter
función se utiliza para filtrar una matriz o lista según una expresión.
Format
{ARRAY}.filter({EXPRESSION})
Argumento | Descripción |
---|---|
{ARRAY} |
Matriz o lista que se va a filtrar. |
{EXPRESSION} |
Una expresión por la que filtrar. |
Ejemplo
La siguiente consulta de PQL define a todas las personas mayores de 21 años.
person.filter(age >= 21)
La map
función se utiliza para crear una nueva matriz aplicando una expresión a cada elemento de una matriz determinada.
Format
array.map(expression)
Ejemplo
La siguiente consulta PQL crea una nueva matriz de números y cuadrados el valor de los números originales.
numbers.map(square)
n
en arreglo de discosLa topN
función se utiliza para devolver los primeros N
elementos de una matriz, cuando se ordenan en orden ascendente según la expresión numérica dada.
Format
{ARRAY}.topN({VALUE}, {AMOUNT})
Argumento | Descripción |
---|---|
{ARRAY} |
Matriz o lista que se va a ordenar. |
{VALUE} |
Propiedad en la que se ordenará la matriz o la lista. |
{AMOUNT} |
Número de elementos que se van a devolver. |
Ejemplo
La siguiente consulta PQL devuelve los cinco pedidos principales con el precio más alto.
orders.topN(price, 5)
n
en matrizLa bottomN
función se utiliza para devolver los últimos N
elementos de una matriz, cuando se ordenan en orden ascendente según la expresión numérica dada.
Format
{ARRAY}.bottomN({VALUE}, {AMOUNT})
Argumento | Descripción |
---|---|
{ARRAY} |
Matriz o lista que se va a ordenar. |
{VALUE} |
Propiedad en la que se ordenará la matriz o la lista. |
{AMOUNT} |
Número de elementos que se van a devolver. |
Ejemplo
La siguiente consulta PQL devuelve los cinco pedidos principales con el precio más bajo.
orders.bottomN(price, 5)
La head
función se utiliza para devolver el primer elemento de la matriz o lista.
Format
{ARRAY}.head()
Ejemplo
La siguiente consulta PQL devuelve el primero de los cinco pedidos principales con el precio más alto. Encontrará más información sobre la topN
función en la primera sección n
de la matriz .
orders.topN(price, 5).head()
Ahora que ha aprendido sobre las funciones de arreglo de discos, lista y configuración, puede utilizarlas dentro de sus consultas PQL. Para obtener más información sobre otras funciones de PQL, lea la descripción general del lenguaje de Consulta dePerfil.