חשוב לזכור: כשאתם מבינים את המבנה של הנתונים ב-Cloud Firestore, יש לכם כמה אפשרויות שונות:
- מסמכים
- כמה אוספים
- אוספי משנה בתוך מסמכים
כדאי לשקול את היתרונות של כל אפשרות בהתאם לתרחיש לדוגמה שלכם. במדריך הזה מפורטים כמה מבנים לדוגמה של נתונים היררכיים.
נתונים בתוך מסמכים
אפשר להטמיע מסמכים בתוך אובייקטים מורכבים כמו מערכים או מפות.
- יתרונות: אם יש לכם רשימות פשוטות וקבועות של נתונים שאתם רוצים לשמור במסמכים, האפשרות הזו קלה להגדרה ומפשטת את מבנה הנתונים.
-
מגבלות: ההתאמה הזו לא ניתנת להתאמה כמו אפשרויות אחרות, במיוחד אם הנתונים מתרחבים עם הזמן. ככל שרשימות גדולות יותר או הולכות וגדלות, המסמך גם גדל, וזה עלול להאט את זמני אחזור המסמכים.
- מהו תרחיש לדוגמה? לדוגמה, באפליקציית צ'אט אפשר לאחסן את 3 חדרי הצ'אט שבהם המשתמש ביקר לאחרונה כרשימה בתצוגת עץ בפרופיל שלו.
|
- class בגד ים
- name :
first : "Ada"
last : "Lovelace"
born : 1815
rooms :
0 : "תוכנה Chat"
1 : "Famous Characters"
|
אוספי משנה
אפשר ליצור אוספים במסמכים כשיש נתונים שעשויים להתרחב עם הזמן.
- היתרונות: ככל שהרשימות גדלות, הגודל של מסמך ההורה לא משתנה. בנוסף, יש לכם יכולות שאילתות מלאות על אוספי משנה, ואתם יכולים להנפיק
שאילתות של קבוצות אוספים על פני אוספי משנה.
-
מגבלות: אי אפשר למחוק בקלות אוספים משניים.
- מהו תרחיש לדוגמה? לדוגמה, באותה אפליקציית Chat, אפשר ליצור אוספים של משתמשים או הודעות בתוך מסמכים בחדר צ'אט.
|
- collections_bookmark science
- class software
name : "software chat"
- collections_bookmark
משתמשים
- class
alovelace
first : "Ada"
last : "Lovelace"
- class
sride
first : "Sally"
last : "Ride"`
- class אסטרופיזיקה
|
אוספים ברמת הבסיס
אפשר ליצור אוספים ברמת השורש של מסד הנתונים כדי לארגן מערכי נתונים שונים.
- יתרונות: קולקציות ברמת הבסיס מתאימות ליחסים רבים-לרבים, ומאפשרות לבצע שאילתות חזקות בכל קולקציה.
-
מגבלות: ככל שמסד הנתונים יגדל, יכול להיות שההצגה של נתונים שהם בעלי מבנה היררכי תהיה מורכבת יותר.
- מהו תרחיש לדוגמה? לדוגמה, אפשר ליצור אוסף אחד באותה אפליקציית צ'אט למשתמשים ואוסף אחר לחדרים ולהודעות.
|
- collections_bookmark
משתמשים
- class alovelace
first : "Ada"
last : "Lovelace"
born : 1815
- class sride
first : "Sally"
last : "Ride"
born : 1951
- collections_bookmark חדרים
- תוכנת class
- collections_bookmark
messages
- class
message1
from : "alovelace"
content : "..."
- class
message2
from : "sride"
content : "..."
|