انتخاب ساختار داده

به‌یاد داشته باشید که وقتی داده‌هایتان را در Cloud Firestore ساختاردهی می‌کنید، چند گزینه مختلف دارید:

  • اسناد
  • مجموعه‌های متعدد
  • زیرمجموعه‌ها در اسناد

مزایای هر گزینه را در ارتباط با مورد استفاده‌تان درنظر بگیرید. چند نمونه ساختار برای داده‌های سلسله‌مراتبی در این راهنما شرح داده شده است.

داده‌های تودرتو در اسناد

می‌توانید اشیای پیچیده مانند آرایه‌ها یا نقشه‌ها را در اسناد تودرتو کنید.

  • مزایا: اگر فهرست‌های ساده و ثابتی از داده‌ها دارید که می‌خواهید در اسنادتان نگه دارید، این روش به‌راحتی راه‌اندازی می‌شود و ساختار داده‌هایتان را ساده می‌کند.
  • محدودیت‌ها: این گزینه به‌اندازه گزینه‌های دیگر مقیاس‌پذیر نیست، به‌ویژه اگر داده‌هایتان درطول زمان گسترش یابد. با فهرست‌های بزرگ‌تر یا درحال رشد، سند نیز رشد می‌کند که می‌تواند منجر به کندتر شدن زمان بازیابی سند شود.
  • یک مورد استفاده احتمالی چیست؟ برای مثال، در برنامه گپ، می‌توانید ۳ اتاق گپی را که کاربر اخیراً بازدید کرده است به‌صورت فهرست تودرتو در نمایه او ذخیره کنید.
  • alovelace
    •     name :
            first : "Ada"
            last : "Lovelace"
          born : 1815
          rooms :
            0 : "Software Chat"
            1 : "Famous Figures"
            2 : "Famous SWEs"

زیرمجموعه‌ها

وقتی داده‌هایی دارید که ممکن است درطول زمان گسترش یابند، می‌توانید در اسناد مجموعه ایجاد کنید.

  • مزایا: با رشد فهرست‌هایتان، اندازه سند والد تغییر نمی‌کند. همچنین قابلیت‌های پُرسمان کامل را در زیرمجموعه‌ها دریافت می‌کنید، و می‌توانید پُرسمان‌های گروه مجموعه را در زیرمجموعه‌ها صادر کنید.
  • محدودیت‌ها: نمی‌توانید زیرمجموعه‌ها را به‌راحتی حذف کنید.
  • یک مورد استفاده احتمالی چیست؟ برای مثال، در همان برنامه گپ، ممکن است مجموعه‌هایی از کاربران یا پیام‌ها را در اسناد اتاق گپ ایجاد کنید.
  • علم
    • نرم‌افزار
        نام : «گپ نرم‌افزار»
      • کاربر
        • alovelace
              first : "Ada"
              last : "Lovelace"
        • sride
              first : "Sally"
              last : "Ride"`


    • اخترفیزیک
      • ...

مجموعه‌های سطح ریشه

مجموعه‌هایی را در سطح ریشه پایگاه داده‌تان ایجاد کنید تا مجموعه‌های داده‌های متفاوت را سازمان‌دهی کنید.

  • مزایا: مجموعه‌های سطح ریشه برای روابط چندبه‌چند مناسب هستند و امکان پُرسمان قدرتمند را در هر مجموعه فراهم می‌کنند.
  • محدودیت‌ها: دریافت داده‌هایی که به‌طور طبیعی سلسله‌مراتبی هستند ممکن است با رشد پایگاه داده شما به‌طور فزاینده‌ای پیچیده شود.
  • یک مورد استفاده احتمالی چیست؟ در همان برنامه گپ، برای مثال، می‌توانید یک مجموعه برای کاربران و مجموعه‌ای دیگر برای اتاق‌ها و پیام‌ها ایجاد کنید.
  • کاربر
    • alovelace
          first : "Ada"
          last : "Lovelace"
          born : 1815
    • sride
          first : "Sally"
          last : "Ride"
          born : 1951
  • ‫ اتاق
    • نرم‌افزار
      • پیام
        • message1
              from : "alovelace"
              content : "..."
        • پیام۲
              از : «sride»
              محتوا : «...»