数组函数参考文档
数组函数
| 名称 | 说明 |
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"