Hàm tham chiếu

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