Hàm chung

Hàm chung

Tên Mô tả
CURRENT_DOCUMENT Trả về tài liệu hiện đang được xử lý trong quy trình.
CONCAT Nối hai hoặc nhiều giá trị cùng loại.
LENGTH Tính toán độ dài của một String, Bytes, Array, Vector hoặc Map.
REVERSE Đảo ngược một String, Bytes hoặc Array.

CURRENT_DOCUMENT

Cú pháp:

current_document() -> MAP

Mô tả:

Đánh giá thành một bản đồ chứa tất cả các trường được xác định trong phạm vi hiện tại. Điều này hữu ích khi hợp nhất hoặc tổng hợp nhiều tài liệu với nhau hoặc khi muốn kiểm tra tên trường một cách linh động trong tài liệu.

Ví dụ: để lấy danh sách tài liệu được nhóm theo một trường:

Node.js

const cities = await db.pipeline()
  .collection("/restaurants")
  .aggregate({
    groups: [ field("location.state").as("state") ],
    accumulators: [ arrayAgg(currentDocument().as("restaurants")) ]
   })
  .execute();

Hàm CONCAT

Cú pháp:

concat[T <: STRING | BYTES | ARRAY](values:T ...) -> T

Mô tả:

Nối hai hoặc nhiều giá trị cùng loại.

Ví dụ:

values concat(values)
"abc", "def" "abcdef"
[1, 2], [3, 4] [1, 2, 3, 4]
b"abc", b"def" b"abcdef"
"abc", [1,2,3], "ghi" error
[1,2,3] error
"abc", null null
Node.js
concat(constant("Author ID: "), field("authorId"));

Web

concat(constant("Author ID: "), field("authorId"));
Swift
let displayString = Constant("Author ID: ").concat([Field("authorId")])

Kotlin

val displayString = constant("Author ID: ").concat(field("authorId"))

Java

Expression displayString = constant("Author ID: ").concat(field("authorId"));
Python
Constant.of("Author ID: ").concat(Field.of("authorId"))

THỜI LƯỢNG

Cú pháp:

length[T <: STRING | BYTES | ARRAY | VECTOR | MAP](value: T) -> INT64

Mô tả:

Tính toán độ dài của một giá trị String, Bytes, Array, Vector hoặc Map.

Ví dụ:

value length(value)
"hello" 5
[1, 2, 3, 4] 4
b"abcde" 5
null null
1 error

ĐẢO NGƯỢC

Cú pháp:

reverse[T <: STRING | BYTES | ARRAY](value: T) -> T

Mô tả:

Đảo ngược một giá trị String, Bytes hoặc Array.

Ví dụ:

value reverse(value)
"hello" "olleh"
[1, 2, 3] [3, 2, 1]
b"abc" b"cba"
23 error
null null