Hàm tham chiếu
Loại REFERENCE đóng vai trò là "con trỏ" đến các tài liệu khác trong cơ sở dữ liệu (hoặc thậm chí là các cơ sở dữ liệu khác). Các hàm sau đây cho phép thao tác với loại này trong quá trình thực thi truy vấn.
| Tên | Mô tả |
COLLECTION_ID
|
Trả về mã nhận dạng của tập hợp lá trong tệp đối chiếu đã cho |
DOCUMENT_ID
|
Trả về mã nhận dạng của tài liệu trong tệp đối chiếu đã cho |
PARENT
|
Trả về tệp đối chiếu gốc |
REFERENCE_SLICE
|
Trả về một tập hợp con các đoạn trong tệp đối chiếu đã cho |
COLLECTION_ID
Cú pháp:
collection_id(ref: REFERENCE) -> STRING
Nội dung mô tả:
Trả về mã nhận dạng tập hợp lá của REFERENCE đã cho.
Ví dụ:
ref |
collection_id(ref) |
|---|---|
users/user1 |
"users" |
users/user1/posts/post1 |
"posts" |
DOCUMENT_ID
Cú pháp:
document_id(ref: REFERENCE) -> ANY
Nội dung mô tả:
Trả về mã tài liệu của REFERENCE đã cho.
Ví dụ:
ref |
document_id(ref) |
|---|---|
users/user1 |
"user1" |
users/user1/posts/post1 |
"post1" |
CHA MẸ
Cú pháp:
parent(ref: REFERENCE) -> REFERENCE
Nội dung mô tả:
Trả về REFERENCE mẹ của tệp đối chiếu đã cho hoặc NULL nếu tệp đối chiếu đã là tệp đối chiếu gốc.
Ví dụ:
ref |
parent(ref) |
|---|---|
/ |
NULL |
users/user1 |
/ |
users/user1/posts/post1 |
users/user1 |
REFERENCE_SLICE
Cú pháp:
reference_slice(ref: REFERENCE, offset: INT, length: INT) -> REFERENCE
Nội dung mô tả:
REFERENCE là danh sách các bộ dữ liệu (collection_id, document_id) và cho phép xem danh sách đó, giống như array_slice(...).
Trả về một REFERENCE mới là một tập hợp con của các phân đoạn của ref đã cho.
offset: Chỉ mục bắt đầu (bắt đầu từ 0) của lát cắt. Nếu là số âm, thì đây là độ lệch so với điểm cuối của tệp đối chiếu.length: Số lượng phân đoạn cần đưa vào lát cắt.
Ví dụ:
ref |
offset |
length |
reference_slice(ref, offset, length) |
|---|---|---|---|
a/1/b/2/c/3 |
1 l | 2L | b/2/c/3 |
a/1/b/2/c/3 |
0L | 2L | a/1/b/2 |
a/1/b/2/c/3 |
-2L | 2L | c/3 |