সমর্থিত ডেটা প্রকার

এই পৃষ্ঠায় Cloud Firestore দ্বারা সমর্থিত ডেটা টাইপগুলো বর্ণনা করা হয়েছে।

ডেটা টাইপ

নিম্নলিখিত সারণিতে Cloud Firestore দ্বারা সমর্থিত ডেটা টাইপগুলির তালিকা দেওয়া হয়েছে। এতে একই ধরণের মান তুলনা করার সময় ব্যবহৃত সাজানোর ক্রমও বর্ণনা করা হয়েছে:

ডেটা টাইপ সাজানোর ক্রম নোট
অ্যারে উপাদানের মান অনুসারে

একটি অ্যারের উপাদান হিসেবে অন্য কোনো অ্যারের মান থাকতে পারে না।

একটি অ্যারের মধ্যে উপাদানগুলো তাদের জন্য নির্ধারিত অবস্থান বজায় রাখে। দুই বা ততোধিক অ্যারে সাজানোর সময়, অ্যারেগুলোকে তাদের উপাদানের মানের উপর ভিত্তি করে সাজানো হয়।

দুটি অ্যারে তুলনা করার সময়, প্রতিটি অ্যারের প্রথম উপাদানগুলো তুলনা করা হয়। যদি প্রথম উপাদানগুলো সমান হয়, তবে দ্বিতীয় উপাদানগুলো তুলনা করা হয় এবং একটি পার্থক্য না পাওয়া পর্যন্ত এই প্রক্রিয়া চলতে থাকে। যদি কোনো অ্যারের তুলনা করার মতো উপাদান শেষ হয়ে যায় কিন্তু সেই পর্যন্ত উপাদানগুলো সমান থাকে, তবে ছোট অ্যারেটিকে বড় অ্যারেটির আগে রাখা হয়।

উদাহরণস্বরূপ, [1, 2, 3] < [1, 2, 3, 1] < [2] । অ্যারে [2] প্রথম উপাদানের মান সবচেয়ে বেশি। অ্যারে [1, 2, 3] -এর উপাদানগুলো [1, 2, 3, 1] -এর প্রথম তিনটি উপাদানের সমান, কিন্তু এটি দৈর্ঘ্যে ছোট।

বুলিয়ান false < true
বাইট বাইট অর্ডার সর্বোচ্চ ১,০৪৮,৪৮৭ বাইট (১ এমআইবি - ৮৯ বাইট)। কোয়েরির ক্ষেত্রে শুধুমাত্র প্রথম ১,৫০০ বাইট বিবেচনা করা হয়।
তারিখ এবং সময় কালানুক্রমিক Cloud Firestore সংরক্ষণ করা হলে, এটি শুধুমাত্র মাইক্রোসেকেন্ড পর্যন্ত নির্ভুল থাকে; এর চেয়ে অতিরিক্ত নির্ভুলতা নিচের দিকে পূর্ণসংখ্যায় রূপান্তর করা হয়।
ফ্লোটিং-পয়েন্ট সংখ্যা সংখ্যাসূচক IEEE 754 অনুযায়ী ৬৪-বিট ডাবল প্রিসিশন, যার মধ্যে (নরম্যালাইজড) NaN এবং +/-Infinity অন্তর্ভুক্ত।
ভৌগোলিক বিন্দু প্রথমে অক্ষাংশ, তারপর দ্রাঘিমাংশ কোয়েরি করার সীমাবদ্ধতার কারণে বর্তমানে আমরা এই ডেটা টাইপটি ব্যবহার করার পরামর্শ দিই না। সাধারণত অক্ষাংশ এবং দ্রাঘিমাংশকে আলাদা সংখ্যাসূচক ফিল্ড হিসাবে সংরক্ষণ করা শ্রেয়। যদি আপনার অ্যাপের সাধারণ দূরত্ব-ভিত্তিক জিওকোয়েরির প্রয়োজন হয়, তবে জিও কোয়েরি দেখুন।
পূর্ণসংখ্যা সংখ্যাসূচক ৬৪-বিট, স্বাক্ষরিত
মানচিত্র প্রথমে কী (key) অনুযায়ী, তারপর ভ্যালু (value) অনুযায়ী।

এটি একটি ডকুমেন্টের মধ্যে এমবেড করা একটি অবজেক্টকে উপস্থাপন করে। ইনডেক্স করা হলে, আপনি সাবফিল্ডগুলোর উপর কোয়েরি করতে পারেন। যদি আপনি এই ভ্যালুটিকে ইনডেক্সিং থেকে বাদ দেন, তাহলে এর সমস্ত সাবফিল্ডও ইনডেক্সিং থেকে বাদ হয়ে যাবে।

কী-এর ক্রম সর্বদা সাজানো থাকে। উদাহরণস্বরূপ, যদি আপনি {c: "foo", a: "bar", b: "qux"} লেখেন, তাহলে ম্যাপটি কী অনুসারে সাজানো হয় এবং {a: "bar", b: "qux", c: "foo"} হিসাবে সংরক্ষিত হয়।

ম্যাপের ফিল্ডগুলো কী (key) অনুযায়ী সাজানো হয় এবং কী-ভ্যালু পেয়ার (key-value pair) দ্বারা তুলনা করা হয়; এক্ষেত্রে প্রথমে কী (key) এবং তারপর ভ্যালু (value) তুলনা করা হয়। যদি প্রথম কী-ভ্যালু পেয়ারগুলো সমান হয়, তবে পরবর্তী কী-ভ্যালু পেয়ারগুলো তুলনা করা হয় এবং এই প্রক্রিয়া চলতে থাকে। যদি দুটি ম্যাপের সমস্ত কী-ভ্যালু পেয়ার একই হয়, তবে ম্যাপের দৈর্ঘ্য বিবেচনা করা হয়। উদাহরণস্বরূপ, নিম্নলিখিত ম্যাপগুলো আরোহী ক্রমে সাজানো আছে:

{a: "aaa", b: "baz"}
{a: "foo", b: "bar"}
{a: "foo", b: "bar", c: "qux"}
{a: "foo", b: "baz"}
{b: "aaa", c: "baz"}
{c: "aaa"}

শূন্য কোনোটিই না
রেফারেন্স পাথ উপাদান অনুসারে (সংগ্রহ, ডকুমেন্ট আইডি, সংগ্রহ, ডকুমেন্ট আইডি...) উদাহরণস্বরূপ, projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH]
টেক্সট স্ট্রিং UTF-8 এনকোডেড বাইট অর্ডার সর্বোচ্চ ১,০৪৮,৪৮৭ বাইট (১ এমআইবি - ৮৯ বাইট)। কোয়েরির ক্ষেত্রে UTF-8 উপস্থাপনার কেবল প্রথম ১,৫০০ বাইট বিবেচনা করা হয়।
ভেক্টর মাত্রা অনুসারে এবং তারপর স্বতন্ত্র উপাদানের মান অনুসারে সর্বোচ্চ সমর্থিত এমবেডিং ডাইমেনশন হলো ২০৪৮। এর চেয়ে বড় ডাইমেনশনের ভেক্টর সংরক্ষণ করতে ডাইমেনশনালিটি রিডাকশন ব্যবহার করুন।

মান প্রকার ক্রম

যখন কোনো কোয়েরিতে মিশ্র ধরনের মান সহ কোনো ফিল্ড অন্তর্ভুক্ত থাকে, তখন Cloud Firestore অভ্যন্তরীণ উপস্থাপনার উপর ভিত্তি করে একটি সুনির্দিষ্ট ক্রম ব্যবহার করে। নিম্নলিখিত তালিকাটি সেই ক্রমটি দেখায়:

  1. নাল মান
  2. বুলিয়ান মান
  3. সংখ্যাগত ক্রমে সাজানো পূর্ণসংখ্যা এবং ফ্লোটিং-পয়েন্ট মান।
  4. তারিখের মান
  5. টেক্সট স্ট্রিং মান
  6. বাইট মান
  7. Cloud Firestore রেফারেন্স
  8. ভৌগোলিক বিন্দুর মান
  9. অ্যারের মানগুলি
  10. ভেক্টর এম্বেডিং
  11. মানচিত্রের মান

সংখ্যাসূচক ক্রম

Cloud Firestore সমস্ত সাংখ্যিক মান ( Integer এবং Floating point ) একে অপরের সাথে পর্যায়ক্রমে সাজায়। ফ্লোটিং পয়েন্ট তুলনা IEEE 754- এর টোটাল অর্ডারিং অনুসরণ করে, তবে এর একটি উল্লেখযোগ্য ব্যতিক্রম হলো Cloud Firestore সমস্ত NaN মানকে স্বাভাবিক করে এবং সেগুলোকে -Infinity চেয়ে কম বলে বিবেচনা করে।