DataSnapshot
מכילה נתונים ממיקום מסד נתונים.
בכל פעם שאתה קורא נתונים ממסד הנתונים, אתה מקבל את הנתונים כ- DataSnapshot
. תמונת DataSnapshot
מועברת להתקשרות חוזרת לאירועים שאתה מצרף עם on()
או once()
. אתה יכול לחלץ את התוכן של תמונת המצב כאובייקט JavaScript על ידי קריאה לשיטת val()
. לחלופין, אתה יכול לעבור לתוך תמונת המצב על ידי קריאה ל- child()
כדי להחזיר צילומי מצב של ילד (אשר לאחר מכן תוכל לקרוא להם val()
).
DataSnapshot
היא עותק שנוצר ביעילות ובלתי ניתן לשינוי של הנתונים במיקום מסד נתונים. לא ניתן לשנות אותו ולעולם לא ישתנה (כדי לשנות נתונים, אתה תמיד קורא לשיטת set()
ב- Reference
ישירות).
חֲתִימָה:
export declare class DataSnapshot
נכסים
תכונה | משנה | סוּג | תיאור |
---|---|---|---|
מַפְתֵחַ | מחרוזת | ריק | המפתח (החלק האחרון של הנתיב) של המיקום של DataSnapshot זה. האסימון האחרון במיקום מסד נתונים נחשב למפתח שלו. לדוגמה, "ada" הוא המפתח עבור הצומת /users/ada/. גישה למפתח בכל DataSnapshot תחזיר את המפתח עבור המיקום שיצר אותו. עם זאת, גישה למפתח ב-URL הבסיס של מסד נתונים תחזיר null . | |
עדיפות | מחרוזת | מספר | ריק | מקבל את ערך העדיפות של הנתונים ב- DataSnapshot זה. יישומים אינם צריכים להשתמש בעדיפות, אך הם יכולים להזמין אוספים לפי מאפיינים רגילים (ראה מיון וסינון נתונים ). | |
ref | מסד נתונים | המיקום של DataSnapshot זה. | |
גודל | מספר | מחזירה את מספר מאפייני הצאצא של DataSnapshot זה. |
שיטות
שיטה | משנה | תיאור |
---|---|---|
ילד (נתיב) | מקבל DataSnapshot נוסף עבור המיקום בנתיב היחסי שצוין. העברת נתיב יחסי לשיטת child() של DataSnapshot מחזירה DataSnapshot נוספת עבור המיקום בנתיב היחסי שצוין. הנתיב היחסי יכול להיות שם צאצא פשוט (לדוגמה, "ada") או נתיב עמוק יותר, מופרד באלכסון (לדוגמה, "ada/name/first"). אם למיקום הילד אין נתונים, מוחזרת DataSnapshot ריקה (כלומר, DataSnapshot שהערך שלה הוא null ). | |
קיים() | מחזירה true אם DataSnapshot זה מכיל נתונים כלשהם. זה מעט יותר יעיל משימוש snapshot.val() !== null . | |
exportVal() | מייצא את כל התוכן של DataSnapshot כאובייקט JavaScript. השיטה exportVal() דומה ל- val() , אלא שמידע עדיפות כלול (אם זמין), מה שהופך אותה מתאימה לגיבוי הנתונים שלך. | |
forEach(action) | מונה את הילדים ברמה העליונה ב- IteratedDataSnapshot . בגלל האופן שבו פועלים אובייקטי JavaScript, לא מובטח שסדר הנתונים באובייקט ה-JavaScript המוחזר על ידי val() יתאים לסדר בשרת וגם לא לסדר של אירועים onChildAdded() . זה המקום שבו forEach() שימושי. זה מבטיח שהילדים של DataSnapshot יחזרו בסדר השאילתות שלהם. אם לא נעשה שימוש בשיטת orderBy*() מפורשת, התוצאות מוחזרות לפי מפתח (אלא אם כן נעשה שימוש בסדרי עדיפויות, ובמקרה זה, התוצאות מוחזרות לפי עדיפות). | |
hasChild(נתיב) | מחזירה true אם נתיב הילד שצוין מכיל נתונים (שאינם אפסים). | |
יש ילדים() | מחזירה אם ל- DataSnapshot יש מאפייני צאצא שאינם null . אתה יכול להשתמש hasChildren() כדי לקבוע אם ל- DataSnapshot יש ילדים. אם כן, אתה יכול למנות אותם באמצעות forEach() . אם לא, אז תמונת מצב זו מכילה ערך פרימיטיבי (שניתן לאחזר עם val() ) או שהיא ריקה (במקרה כזה, val() יחזיר null ). | |
toJSON() | מחזיר ייצוג ניתן להמשכה של JSON של אובייקט זה. | |
val() | מחלץ ערך JavaScript מ- DataSnapshot . בהתאם לנתונים ב- DataSnapshot , שיטת val() עשויה להחזיר סוג סקלרי (מחרוזת, מספר או בוליאני), מערך או אובייקט. זה עשוי גם להחזיר null, המציין ש- DataSnapshot ריק (לא מכיל נתונים). |
DataSnapshot.key
המפתח (החלק האחרון של הנתיב) של המיקום של DataSnapshot
זה .
האסימון האחרון במיקום מסד נתונים נחשב למפתח שלו. לדוגמה, "ada" הוא המפתח עבור הצומת /users/ada/. גישה למפתח בכל DataSnapshot
תחזיר את המפתח עבור המיקום שיצר אותו. עם זאת, גישה למפתח בכתובת ה-Root של מסד נתונים תחזיר null
.
חֲתִימָה:
get key(): string | null;
DataSnapshot.priority
מקבל את ערך העדיפות של הנתונים ב- DataSnapshot
זה .
יישומים אינם צריכים להשתמש בעדיפות, אך הם יכולים להזמין אוספים לפי מאפיינים רגילים (ראה מיון וסינון נתונים ).
חֲתִימָה:
get priority(): string | number | null;
DataSnapshot.ref
המיקום של DataSnapshot זה.
חֲתִימָה:
readonly ref: DatabaseReference;
DataSnapshot.size
מחזירה את מספר מאפייני הצאצא של DataSnapshot
זה .
חֲתִימָה:
get size(): number;
DataSnapshot.child()
מקבל DataSnapshot
נוסף עבור המיקום בנתיב היחסי שצוין.
העברת נתיב יחסי לשיטת child()
של DataSnapshot מחזירה DataSnapshot
נוספת עבור המיקום בנתיב היחסי שצוין. הנתיב היחסי יכול להיות שם צאצא פשוט (לדוגמה, "ada") או נתיב עמוק יותר, מופרד באלכסון (לדוגמה, "ada/name/first"). אם למיקום הילד אין נתונים, DataSnapshot
ריק (כלומר, DataSnapshot
שהערך שלה הוא null
) מוחזר.
חֲתִימָה:
child(path: string): DataSnapshot;
פרמטרים
פָּרָמֶטֶר | סוּג | תיאור |
---|---|---|
נָתִיב | חוּט | נתיב יחסי למיקום נתוני הצאצא. |
החזרות:
DataSnapshot.exists()
מחזירה true אם DataSnapshot
זה מכיל נתונים כלשהם. זה מעט יותר יעיל משימוש snapshot.val() !== null
.
חֲתִימָה:
exists(): boolean;
החזרות:
בוליאני
DataSnapshot.exportVal()
מייצא את כל התוכן של DataSnapshot כאובייקט JavaScript.
השיטה exportVal()
דומה ל- val()
, למעט מידע עדיפות כלול (אם זמין), מה שהופך אותו למתאים לגיבוי הנתונים שלך.
חֲתִימָה:
exportVal(): any;
החזרות:
כל
התוכן של DataSnapshot כערך JavaScript (אובייקט, מערך, מחרוזת, מספר, בוליאני או null
).
DataSnapshot.forEach()
מונה את הילדים ברמה העליונה ב- IteratedDataSnapshot
.
בגלל האופן שבו אובייקטי JavaScript פועלים, לא מובטח שסדר הנתונים באובייקט ה-JavaScript המוחזר על ידי val()
יתאים לסדר בשרת וגם לא לסדר של אירועים onChildAdded()
. זה המקום שבו forEach()
שימושי. זה מבטיח שהילדים של DataSnapshot
יחזרו בסדר השאילתות שלהם.
אם לא נעשה שימוש בשיטת orderBy*()
מפורשת, התוצאות מוחזרות לפי מפתח (אלא אם נעשה שימוש בסדרי עדיפויות, ובמקרה זה, התוצאות מוחזרות לפי עדיפות).
חֲתִימָה:
forEach(action: (child: IteratedDataSnapshot) => boolean | void): boolean;
פרמטרים
פָּרָמֶטֶר | סוּג | תיאור |
---|---|---|
פעולה | (ילד: IteratedDataSnapshot ) => בוליאני | בָּטֵל | פונקציה שתיקרא עבור כל ילד DataSnapshot. ההתקשרות חזרה יכולה לחזור כאמת כדי לבטל ספירה נוספת. |
החזרות:
בוליאני
נכון אם הספירה בוטלה עקב החזרת החזרה שלך כ-true.
DataSnapshot.hasChild()
מחזירה true אם נתיב הילד שצוין מכיל נתונים (שאינם אפסים).
חֲתִימָה:
hasChild(path: string): boolean;
פרמטרים
פָּרָמֶטֶר | סוּג | תיאור |
---|---|---|
נָתִיב | חוּט | נתיב יחסי למיקומו של ילד פוטנציאלי. |
החזרות:
בוליאני
true
אם נתונים קיימים בנתיב הילד שצוין; אחרת false
.
DataSnapshot.hasChildren()
מחזירה אם ל- DataSnapshot
יש מאפייני צאצא שאינם null
.
אתה יכול להשתמש hasChildren()
כדי לקבוע אם ל- DataSnapshot
יש ילדים. אם כן, אתה יכול למנות אותם באמצעות forEach()
. אם לא, אז גם תמונת המצב הזו מכילה ערך פרימיטיבי (שניתן לאחזר עם val()
) או שהוא ריק (במקרה זה, val()
יחזיר null
).
חֲתִימָה:
hasChildren(): boolean;
החזרות:
בוליאני
נכון אם לתמונה הזו יש ילדים; אחרת שקר.
DataSnapshot.toJSON()
מחזיר ייצוג ניתן להמשכה של JSON של אובייקט זה.
חֲתִימָה:
toJSON(): object | null;
החזרות:
חפץ | ריק
DataSnapshot.val()
מחלץ ערך JavaScript מ- DataSnapshot
.
תלוי בנתונים ב- DataSnapshot
, שיטת val()
עשויה להחזיר סוג סקלארי (מחרוזת, מספר או בוליאני), מערך או אובייקט. זה עשוי גם להחזיר null, מה שמציין ש- DataSnapshot
ריק (לא מכיל נתונים).
חֲתִימָה:
val(): any;
החזרות:
כל
התוכן של DataSnapshot כערך JavaScript (אובייקט, מערך, מחרוזת, מספר, בוליאני או null
).