陣列、清單和設定函式
Profile Query Language (PQL)提供的功能可讓您更輕鬆地與陣列、清單和字串互動。 如需其他PQL函式的詳細資訊,請參閱 Profile Query Language 概述.
在
此 in
函式是用來決定專案是陣列或清單的成員。
格式
{VALUE} in {ARRAY}
範例
以下PQL查詢定義在3月、6月或9月有生日的人。
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
此 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
在陣列中 first-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
函式位於 第一 n
在陣列中 區段。
orders.topN(price, 5).head()
後續步驟
現在您已瞭解陣列、清單和設定函式,可以在PQL查詢中使用它們。 如需其他PQL函式的詳細資訊,請參閱 設定檔查詢語言概觀.