রেফারেন্স ফাংশন
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 |