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

دوال المراجع

يعمل النوع 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 1 لتر ‫2 لتر b/2/c/3
a/1/b/2/c/3 0 لتر ‫2 لتر a/1/b/2
a/1/b/2/c/3 -2L ‫2 لتر c/3