রেফারেন্স ফাংশন

রেফারেন্স ফাংশন

REFERENCE টাইপটি ডাটাবেসের অন্যান্য ডকুমেন্ট (এমনকি অন্য ডাটাবেসেরও) একটি 'পয়েন্টার' হিসেবে কাজ করে। নিম্নলিখিত ফাংশনগুলো কোয়েরি সম্পাদনের সময় এই টাইপটিকে নিয়ন্ত্রণ করার সুযোগ দেয়।

নাম বর্ণনা
COLLECTION_ID প্রদত্ত রেফারেন্সে থাকা লিফ কালেকশনের আইডি ফেরত দেয়।
DOCUMENT_ID প্রদত্ত রেফারেন্সে থাকা ডকুমেন্টটির আইডি ফেরত দেয়।
PARENT প্যারেন্ট রেফারেন্স ফেরত দেয়
REFERENCE_SLICE প্রদত্ত রেফারেন্স থেকে সেগমেন্টের একটি উপসেট ফেরত দেয়।

সংগ্রহের আইডি

সিনট্যাক্স:

collection_id(ref: REFERENCE) -> STRING

বর্ণনা:

প্রদত্ত REFERENCE এর লিফ কালেকশন আইডি ফেরত দেয়।

উদাহরণ:

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

ডকুমেন্ট_আইডি

সিনট্যাক্স:

document_id(ref: REFERENCE) -> ANY

বর্ণনা:

প্রদত্ত REFERENCE ডকুমেন্ট আইডি ফেরত দেয়।

উদাহরণ:

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

অভিভাবক

সিনট্যাক্স:

parent(ref: REFERENCE) -> REFERENCE

বর্ণনা:

প্রদত্ত রেফারেন্সটির প্যারেন্ট REFERENCE ফেরত দেয়, অথবা যদি রেফারেন্সটি ইতিমধ্যেই একটি রুট রেফারেন্স হয় তবে NULL ফেরত দেয়।

উদাহরণ:

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

রেফারেন্স_স্লাইস

সিনট্যাক্স:

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

বর্ণনা:

একটি REFERENCE হলো (collection_id, document_id) টাপলের একটি তালিকা এবং এটি array_slice(...) মতোই সেই তালিকাটি দেখার সুযোগ করে দেয়।

একটি নতুন REFERENCE ফেরত দেয় যা প্রদত্ত ref এর সেগমেন্টগুলোর একটি উপসেট।

  • offset : স্লাইসটির শুরুর সূচক (০-ভিত্তিক)। যদি এটি ঋণাত্মক হয়, তবে এটি রেফারেন্সের শেষ থেকে একটি অফসেট।
  • length : স্লাইসটিতে অন্তর্ভুক্ত করার জন্য সেগমেন্টের সংখ্যা।

উদাহরণ:

ref offset length reference_slice(ref, offset, length)
a/1/b/2/c/3 ১ লিটার ২ লিটার b/2/c/3
a/1/b/2/c/3 ০ লিটার ২ লিটার a/1/b/2
a/1/b/2/c/3 -২ লিটার ২ লিটার c/3