Profile Query Language (PQL)优惠函数可简化与数组、列表和字符串的交互。有关其他PQL函数的详细信息,请参阅Profile Query Language 概述。
in
函数用于确定项目是否是数组或列表的成员。
Format
{VALUE} in {ARRAY}
示例
以下PQL查询定义三月、六月或九月的生日人群。
person.birthMonth in [3, 6, 9]
notIn
函数用于确定项目是否不是数组或列表的成员。
notIn
函数还确保两个值均不等于null。 因此,结果不是in
函数的精确取反。
格式
{VALUE} notIn {ARRAY}
示例
以下PQL查询定义了不在3月、6月或9月的生日。
person.birthMonth notIn [3, 6, 9]
intersects
函数用于确定两个阵列或列表是否具有至少一个公共成员。
格式
{ARRAY}.intersects({ARRAY})
示例
以下PQL查询定义其喜爱的颜色至少包括红色、蓝色或绿色之一的人。
person.favoriteColors.intersects(["red", "blue", "green"])
intersection
函数用于确定两个阵列或列表的公用成员。
格式
{ARRAY}.intersection({ARRAY})
示例
以下PQL查询定义人物1和人物2是否都具有最喜爱的红色、蓝色和绿色。
person1.favoriteColors.intersection(person2.favoriteColors) = ["red", "blue", "green"]
subsetOf
函数用于确定特定阵列(阵列A)是否是另一阵列(阵列B)的子集。 换言之,数组A中的所有元素都是数组B的元素。
格式
{ARRAY}.subsetOf({ARRAY})
示例
以下PQL查询定义访问过其所有喜爱城市的人员。
person.favoriteCities.subsetOf(person.visitedCities)
supersetOf
函数用于确定特定阵列(阵列A)是否是另一阵列(阵列B)的超集。 换言之,数组A包含数组B中的所有元素。
格式
{ARRAY}.supersetOf({ARRAY})
示例
以下PQL查询定义了至少吃过一次寿司和比萨的人。
person.eatenFoods.supersetOf(["sushi", "pizza"])
includes
函数用于确定数组或列表是否包含给定项。
格式
{ARRAY}.includes({ITEM})
示例
以下PQL查询定义其喜爱颜色包括红色的人。
person.favoriteColors.includes("red")
distinct
函数用于从数组或重复中删除列表值。
格式
{ARRAY}.distinct()
示例
以下PQL查询指定在多个商店下订单的人员。
person.orders.storeId.distinct().count() > 1
groupBy
函数用于根据列表的值将数组或表达式的值划分到组中。
格式
{ARRAY}.groupBy({EXPRESSION)
参数 | 描述 |
---|---|
{ARRAY} |
要分组的数组或列表。 |
{EXPRESSION} |
返回的表达式映射数组或列表中的每个项。 |
示例
以下PQL查询将存储订单的所有订单分组。
orders.groupBy(storeId)
filter
函数用于根据列表筛选数组或表达式。
格式
{ARRAY}.filter({EXPRESSION})
参数 | 描述 |
---|---|
{ARRAY} |
要筛选的数组或列表。 |
{EXPRESSION} |
要筛选的表达式。 |
示例
以下PQL查询定义所有21岁或以上的人。
person.filter(age >= 21)
map
函数用于通过对给定数组中的每个项应用表达式来创建新数组。
格式
array.map(expression)
示例
以下PQL查询将创建原始数字值的新数组和平方。
numbers.map(square)
n
topN
函数用于返回数组中的前一个N
项,当它根据给定的数字表达式按升序排序时。
格式
{ARRAY}.topN({VALUE}, {AMOUNT})
参数 | 描述 |
---|---|
{ARRAY} |
要排序的数组或列表。 |
{VALUE} |
要对数组或列表排序的属性。 |
{AMOUNT} |
要返回的项目数。 |
示例
以下PQL查询返回价格最高的前五个订单。
orders.topN(price, 5)
n
bottomN
函数用于返回数组中最后一个N
项,当它根据给定的数字表达式按升序排序时。
格式
{ARRAY}.bottomN({VALUE}, {AMOUNT})
参数 | 描述 |
---|---|
{ARRAY} |
要排序的数组或列表。 |
{VALUE} |
要对数组或列表排序的属性。 |
{AMOUNT} |
要返回的项目数。 |
示例
以下PQL查询返回价格最低的前五个订单。
orders.bottomN(price, 5)
head
函数用于返回数组或列表中的第一个项。
格式
{ARRAY}.head()
示例
以下PQL查询返回价格最高的前五大订单中的第一个。 有关topN
函数的详细信息,请参阅数组](#first-n)部分的[第一个n
。
orders.topN(price, 5).head()
您已经了解了阵列、列表和设置功能,现在可以在PQL查询中使用它们。 有关其他PQL函数的详细信息,请阅读用户档案查询语语言概述。