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

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

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

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

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

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

  • مزایا: اگر لیست‌های ساده و ثابتی از داده‌ها دارید که می‌خواهید در اسناد خود نگه دارید، راه‌اندازی این روش آسان است و ساختار داده‌های شما را ساده می‌کند.
  • محدودیت‌ها: این روش به اندازه سایر گزینه‌ها مقیاس‌پذیر نیست، به خصوص اگر داده‌های شما به مرور زمان گسترش یابند. با بزرگتر شدن یا رشد لیست‌ها، سند نیز رشد می‌کند که می‌تواند منجر به کندتر شدن زمان بازیابی سند شود.
  • چه کاربردهایی ممکن است داشته باشد؟ برای مثال، در یک برنامه چت، می‌توانید ۳ اتاق گفتگوی اخیر کاربر را به صورت یک لیست تو در تو در پروفایل او ذخیره کنید.
  • آلوولاس
    • نام:
      اول: «آدا»
      آخرین: "لاولاس"
      متولد: ۱۸۱۵
      اتاق‌ها:
      0 : "چت نرم‌افزاری"
      ۱: چهره‌های مشهور
      ۲: «سوئدی‌های مشهور»

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

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

  • مزایا: با افزایش فهرست‌های شما، اندازه سند والد تغییر نمی‌کند. همچنین می‌توانید قابلیت‌های کامل پرس‌وجو روی زیرمجموعه‌ها را دریافت کنید و پرس‌وجوهای گروهی از مجموعه‌ها را در سراسر زیرمجموعه‌ها صادر کنید.
  • محدودیت‌ها: شما نمی‌توانید به راحتی زیرمجموعه‌ها را حذف کنید.
  • چه کاربردهایی ممکن است داشته باشد؟ برای مثال، در همان برنامه چت، ممکن است مجموعه‌ای از کاربران یا پیام‌ها را در اسناد اتاق چت ایجاد کنید.
  • علم
    • نرم‌افزار
      نام: "نرم‌افزار چت"
      • کاربران
        • آلوولاس
          اول: «آدا»
          آخرین: "لاولاس"
        • سواری
          اول: «سالی»
          آخرین: "سوار شو"


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

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

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

  • مزایا: مجموعه‌های سطح ریشه برای روابط چند به چند مناسب هستند و پرس‌وجوهای قدرتمندی را در هر مجموعه ارائه می‌دهند.
  • محدودیت‌ها: دریافت داده‌هایی که به طور طبیعی سلسله مراتبی هستند، ممکن است با رشد پایگاه داده شما به طور فزاینده‌ای پیچیده شود.
  • چه کاربردهایی ممکن است داشته باشد؟ برای مثال، در یک برنامه چت، ممکن است یک مجموعه برای کاربران و مجموعه‌ای دیگر برای اتاق‌ها و پیام‌ها ایجاد کنید.
  • کاربران
    • آلوولاس
      اول: «آدا»
      آخرین: "لاولاس"
      متولد: ۱۸۱۵
    • سواری
      اول: «سالی»
      آخرین: "سوار شدن"
      متولد: ۱۹۵۱
  • اتاق‌ها
    • نرم‌افزار
      • پیام‌ها
        • پیام
          از: "alovelace"
          محتوا: "..."
        • پیام ۲
          از: "سر خوردن"
          محتوا: "..."