ฟังก์ชันอ้างอิง

ฟังก์ชันอ้างอิง

ประเภท REFERENCE ทำหน้าที่เป็น "ตัวชี้" ไปยังเอกสารอื่นๆ ในฐานข้อมูล (หรือแม้แต่ฐานข้อมูลอื่นๆ) ฟังก์ชันต่อไปนี้ช่วยให้คุณจัดการประเภทนี้ได้ระหว่างการดำเนินการคิวรี

ชื่อ คำอธิบาย
COLLECTION_ID แสดงผลรหัสของคอลเล็กชันย่อยในการอ้างอิงที่กำหนด
DOCUMENT_ID แสดงผลรหัสของเอกสารในการอ้างอิงที่กำหนด
PARENT แสดงผลการอ้างอิงระดับบน
REFERENCE_SLICE แสดงผลส่วนย่อยของเซ็กเมนต์จากการอ้างอิงที่กำหนด

COLLECTION_ID

ไวยากรณ์:

collection_id(ref: REFERENCE) -> STRING

คำอธิบาย:

แสดงผลรหัสคอลเล็กชันย่อยของ REFERENCE ที่กำหนด

ตัวอย่าง:

ref collection_id(ref)
users/user1 "users"
users/user1/posts/post1 "posts"

DOCUMENT_ID

ไวยากรณ์:

document_id(ref: REFERENCE) -> ANY

คำอธิบาย:

แสดงผลรหัสเอกสารของ REFERENCE ที่กำหนด

ตัวอย่าง:

ref document_id(ref)
users/user1 "user1"
users/user1/posts/post1 "post1"

PARENT

ไวยากรณ์:

parent(ref: REFERENCE) -> REFERENCE

คำอธิบาย:

แสดงผล REFERENCE ระดับบนของการอ้างอิงที่กำหนด หรือ NULL หากการอ้างอิงเป็นการอ้างอิงระดับรากอยู่แล้ว

ตัวอย่าง:

ref parent(ref)
/ NULL
users/user1 /
users/user1/posts/post1 users/user1

REFERENCE_SLICE

ไวยากรณ์:

reference_slice(ref: REFERENCE, offset: INT, length: INT) -> REFERENCE

คำอธิบาย:

REFERENCE คือรายการของทูเพิล (collection_id, document_id) และฟังก์ชันนี้ช่วยให้คุณดูรายการดังกล่าวได้ เช่นเดียวกับ array_slice(...)

แสดงผล REFERENCE ใหม่ซึ่งเป็นส่วนย่อยของเซ็กเมนต์ของ ref ที่กำหนด

  • offset: ดัชนีเริ่มต้น (อิงตาม 0) ของส่วนย่อย หากเป็นค่าลบ จะเป็นออฟเซ็ตจากจุดสิ้นสุดของการอ้างอิง
  • length: จำนวนเซ็กเมนต์ที่จะรวมไว้ในส่วนย่อย

ตัวอย่าง:

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