الدوال المرجعية

الدوال المرجعية

يعمل النوع 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