מבנה הנתונים

חשוב לזכור: כשמבנים את הנתונים ב-Firestore, יש כמה אפשרויות שונות:

  • מסמכים
  • אוספים מרובים
  • קולקציות משנה במסמכים

כדאי לשקול את היתרונות של כל אפשרות בהקשר של תרחיש השימוש שלכם. במדריך הזה מפורטים כמה מבנים לדוגמה של נתונים היררכיים.

נתונים מקוננים במסמכים

אפשר להטמיע אובייקטים מורכבים כמו מערכים או מפות בתוך מסמכים.

  • יתרונות: אם יש לכם רשימות פשוטות וקבועות של נתונים שאתם רוצים לשמור במסמכים, קל להגדיר את האפשרות הזו והיא מייעלת את מבנה הנתונים.
  • מגבלות: האפשרות הזו לא ניתנת להרחבה כמו אפשרויות אחרות, במיוחד אם הנתונים גדלים עם הזמן. ככל שהרשימות גדולות יותר או גדלות, המסמך גדל גם הוא, וזה יכול להוביל לזמני אחזור ארוכים יותר של המסמך.
  • מהו תרחיש שימוש אפשרי? לדוגמה, באפליקציית צ'אט אפשר לאחסן את 3 חדרי הצ'אט האחרונים שבהם המשתמש ביקר כרשימה מקוננת בפרופיל שלו.
  • alovelace
    •     name :
            first : "Ada"
            last : "Lovelace"
          born : 1815
          rooms :
            0 : "Software Chat"
            1 : "Famous Figures"
            2 : "Famous SWEs"

אוספי משנה

אתם יכולים ליצור אוספים בתוך מסמכים כשיש לכם נתונים שעשויים להתרחב עם הזמן.

  • יתרונות: ככל שהרשימות גדלות, הגודל של מסמך האב לא משתנה. יש לכם גם יכולות מלאות של שאילתות על אוספי משנה, ואתם יכולים להנפיק שאילתות של קבוצות אוספים על אוספי משנה.
  • מגבלות: אי אפשר למחוק בקלות אוספים משניים.
  • מהו תרחיש שימוש אפשרי? באותה אפליקציית צ'אט, למשל, אפשר ליצור אוספים של משתמשים או הודעות במסמכים של חדר הצ'אט.
  • science
    • software
        name : "software chat"
      • users
        • alovelace
              first : "Ada"
              last : "Lovelace"
        • sride
              first : "Sally"
              last : "Ride"`


    • astrophysics
      • ...

אוספים ברמת הבסיס

יוצרים אוספים ברמת הבסיס של מסד הנתונים כדי לארגן מערכי נתונים שונים.

  • יתרונות: קולקציות ברמת הבסיס מתאימות ליחסי רבים-לרבים ומאפשרות לבצע שאילתות עוצמתיות בכל קולקציה.
  • מגבלות: ככל שהמסד גדל, יכול להיות שיהיה יותר ויותר מסובך לקבל נתונים שהם היררכיים באופן טבעי.
  • מהו תרחיש שימוש אפשרי? באותה אפליקציית צ'אט, לדוגמה, אפשר ליצור אוסף אחד למשתמשים ואוסף אחר לחדרים ולהודעות.
  • users
    • alovelace
          first : "Ada"
          last : "Lovelace"
          born : 1815
    • sride
          first : "Sally"
          last : "Ride"
          born : 1951
  • rooms
    • software
      • messages
        • message1
              from : "alovelace"
              content : "..."
        • message2
              from : "sride"
              content : "..."

סרטונים

למידע נוסף, אפשר לצפות בסרטונים הבאים: