Hàm tham chiếu
Loại REFERENCE hoạt động như một "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ã của bộ sưu tập lá trong tham chiếu đã cho |
DOCUMENT_ID
|
Trả về mã của tài liệu trong tham chiếu đã cho |
PARENT
|
Trả về tham chiếu mẹ |
REFERENCE_SLICE
|
Trả về một tập hợp con của các phân đoạn từ tham chiếu đã cho |
COLLECTION_ID
Cú pháp:
collection_id(ref: REFERENCE) -> STRING
Mô tả:
Trả về mã bộ sưu tậ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
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" |
PARENT
Cú pháp:
parent(ref: REFERENCE) -> REFERENCE
Mô tả:
Trả về REFERENCE mẹ của tham chiếu đã cho hoặc NULL nếu tham chiếu đã là tham 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
Mô tả:
REFERENCE là một danh sách các bộ dữ liệu (collection_id, document_id) và điều này cho phép xem danh sách đó, giống như array_slice(...).
Trả về một REFERENCE mới là 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ì đó là độ lệch so với cuối tham chiếu.length: Số 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 |
1L | 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 |