Funciones de matriz, lista y conjunto

Profile Query Language (PQL) ofrece funciones para facilitar la interacción con matrices, listas y cadenas. Puede encontrar más información sobre otras funciones de PQL en Profile Query Language overview.

En

La función in se utiliza para determinar si un elemento es miembro de una matriz o lista.

Format

{VALUE} in {ARRAY}

Ejemplo

La siguiente consulta PQL define las personas con cumpleaños en marzo, junio o septiembre.

person.birthMonth in [3, 6, 9]

Not in

La función notIn se utiliza para determinar si un elemento no es miembro de una matriz o lista.

NOTA

La función notIn también garantiza que ninguno de los valores sea igual a nulo. Por lo tanto, los resultados no son una negación exacta de la función in.

Formato

{VALUE} notIn {ARRAY}

Ejemplo

La siguiente consulta PQL define las personas con cumpleaños que no están en marzo, junio o septiembre.

person.birthMonth notIn [3, 6, 9]

Intersecciones

La función intersects se utiliza para determinar si dos matrices o listas tienen al menos un miembro común.

Formato

{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"])

Intersección

La función intersection se utiliza para determinar los miembros comunes de dos matrices o listas.

Formato

{ARRAY}.intersection({ARRAY})

Ejemplo

La siguiente consulta PQL define si la persona 1 y la persona 2 tienen los colores favoritos de rojo, azul y verde.

person1.favoriteColors.intersection(person2.favoriteColors) = ["red", "blue", "green"]

Subconjunto de

La función subsetOf 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.

Formato

{ARRAY}.subsetOf({ARRAY})

Ejemplo

La siguiente consulta PQL define las personas que han visitado todas sus ciudades favoritas.

person.favoriteCities.subsetOf(person.visitedCities)

Superconjunto de

La función supersetOf 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.

Formato

{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"])

Incluye

La función includes se utiliza para determinar si una matriz o lista contiene un elemento determinado.

Formato

{ARRAY}.includes({ITEM})

Ejemplo

La siguiente consulta PQL define las personas cuyo color favorito incluye el rojo.

person.favoriteColors.includes("red")

Distinct

La función distinct se utiliza para eliminar valores duplicados de una matriz o lista.

Formato

{ARRAY}.distinct()

Ejemplo

La siguiente consulta PQL especifica las personas que han realizado pedidos en más de un almacén.

person.orders.storeId.distinct().count() > 1

Agrupar por

La función groupBy se utiliza para particionar los valores de una matriz o lista en un grupo en función del valor de la expresión.

Formato

{ARRAY}.groupBy({EXPRESSION)
Argumento Descripción
{ARRAY} La 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 ha colocado el pedido.

orders.groupBy(storeId)

Filtro

La función filter se utiliza para filtrar una matriz o lista basada en una expresión.

Formato

{ARRAY}.filter({EXPRESSION})
Argumento Descripción
{ARRAY} La matriz o lista que se va a filtrar.
{EXPRESSION} Expresión por la que filtrar.

Ejemplo

La siguiente consulta PQL define todas las personas mayores de 21 años.

person.filter(age >= 21)

Mapa

La función map se utiliza para crear una nueva matriz aplicando una expresión a cada elemento de una matriz determinada.

Formato

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)

Primera n en la matriz

La función topN 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.

Formato

{ARRAY}.topN({VALUE}, {AMOUNT})
Argumento Descripción
{ARRAY} Matriz o lista que se va a ordenar.
{VALUE} La propiedad en la que se va a 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)

Última n en la matriz

La función bottomN 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.

Formato

{ARRAY}.bottomN({VALUE}, {AMOUNT})
Argumento Descripción
{ARRAY} Matriz o lista que se va a ordenar.
{VALUE} La propiedad en la que se va a 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)

Primer elemento

La función head se utiliza para devolver el primer elemento de la matriz o lista.

Formato

{ARRAY}.head()

Ejemplo

La siguiente consulta PQL devuelve el primero de los cinco pedidos principales con el precio más alto. Puede encontrar más información sobre la función topN en la sección first n en array.

orders.topN(price, 5).head()

Pasos siguientes

Ahora que ha aprendido sobre la matriz, la lista y las funciones definidas, puede utilizarlas en sus consultas PQL. Para obtener más información sobre otras funciones de PQL, lea la información general del lenguaje de consulta de perfil.

En esta página