数组函数参考文档

数组函数

名称 说明
ARRAY 返回一个 ARRAY,其中的元素与输入实参一一对应
ARRAY_CONCAT 将多个数组串联成一个 ARRAY
ARRAY_CONTAINS 如果给定的 ARRAY 包含特定值,则返回 TRUE
ARRAY_CONTAINS_ALL 如果所有值都存在于 ARRAY 中,则返回 TRUE
ARRAY_CONTAINS_ANY 如果任何值存在于 ARRAY 中,则返回 TRUE
ARRAY_FILTER ARRAY 中过滤掉不满足谓词的元素
ARRAY_FIRST 返回 ARRAY 中的第一个元素
ARRAY_FIRST_N 返回 ARRAY 中的前 n 个元素
ARRAY_GET 返回 ARRAY 中指定索引处的元素
ARRAY_INDEX_OF 返回 ARRAY 中首次出现某个值的索引
ARRAY_INDEX_OF_ALL 返回 ARRAY 中某个值的所有索引
ARRAY_LENGTH 返回 ARRAY 中的元素数量
ARRAY_LAST 返回 ARRAY 中的最后一个元素
ARRAY_LAST_N 返回 ARRAY 中的最后 n 个元素
ARRAY_REVERSE 反转 ARRAY 中元素的顺序
ARRAY_SLICE 返回 ARRAY 的切片
ARRAY_TRANSFORM 通过将表达式应用于 ARRAY 中的每个元素来转换这些元素
MAXIMUM 返回 ARRAY 中的最大值
MAXIMUM_N 返回 ARRAY 中的 n 个最大值
MINIMUM 返回 ARRAY 中的最小值
MINIMUM_N 返回 ARRAY 中的 n 个最小值
SUM 返回 ARRAY 中所有 NUMERIC 值的总和。
JOIN ARRAY 中的元素串联成一个 STRING 值。

ARRAY

语法

array(values: ANY...) -> ARRAY

说明:

根据给定的元素构造一个数组。

  • 如果某个实参不存在,系统会在生成的数组中将其替换为 NULL

示例

values array(values)
() []
(1, 2, 3) [1, 2, 3]
("a", 1, true) ["a", 1, true]
(1, null) [1, null]
(1, [2, 3]) [1, [2, 3]]

ARRAY_CONCAT

语法

array_concat(arrays: ARRAY...) -> ARRAY

说明:

将两个或多个数组串联成一个 ARRAY

示例

arrays array_concat(arrays)
([1, 2], [3, 4]) [1, 2, 3, 4]
(["a", "b"], ["c"]) ["a", "b", "c"]
([1], [2], [3]) [1, 2, 3]
([], [1, 2]) [1, 2]
Node.js
const result = await db.pipeline()
  .collection("books")
  .select(field("genre").arrayConcat([field("subGenre")]).as("allGenres"))
  .execute();
Swift
let result = try await db.pipeline()
  .collection("books")
  .select([Field("genre").arrayConcat([Field("subGenre")]).as("allGenres")])
  .execute()
Kotlin
Android
val result = db.pipeline()
    .collection("books"