واجهة تمثّل لقطة بيانات لقاعدة بيانات Firebase في الوقت الفعلي.
Signature:
export declare class DataSnapshot implements database.DataSnapshot
التنفيذ: data.DataSnapshot
الشركات المصنِّعة
الشركة المصنِّعة | المعدِّلات | الوصف |
---|---|---|
(دالة الإنشاء)(data, path, app, يؤثر) | إنشاء مثيل جديد لفئة DataSnapshot |
أماكن إقامة
الموقع | المعدِّلات | النوع | الوصف |
---|---|---|---|
مثيل | السلسلة | ||
مفتاح | سلسلة | فارغ | المفتاح (الجزء الأخير من المسار) الخاص بموقع DataSnapshot هذا.يعتبر الرمز المميز الأخير في أي موقع قاعدة بيانات هو المفتاح الخاص به. على سبيل المثال، "ada" هو المفتاح للعقدة /users/ada/ . يؤدي الوصول إلى المفتاح في أي DataSnapshot إلى عرض مفتاح الموقع الجغرافي الذي أنشأه. ومع ذلك، يؤدي الوصول إلى المفتاح على عنوان URL الجذر لقاعدة البيانات إلى إرجاع null . |
|
ref | قاعدة البيانات.مرجع | تعرض [Reference ](/docs/reference/admin/node/admin.database.Reference) في موقع قاعدة البيانات حيث حدث الكتابة المشغِّلة. لديه إذن وصول كامل للقراءة والكتابة. |
الطُرق
الطريقة | المعدِّلات | الوصف |
---|---|---|
child(childPath) | تحصل على DataSnapshot للموقع الجغرافي في المسار النسبي المحدّد.يمكن أن يكون المسار النسبي إما اسمًا بسيطًا ثانويًا (مثل "ada") أو مسارًا أعمق مفصولاً بشرطة مائلة (مثل "ada/name/first"). |
|
exists() | تعرض true إذا كانت DataSnapshot تحتوي على أي بيانات. وهو أكثر فعالية قليلاً من استخدام snapshot.val() !== null . true إذا كانت قيمة DataSnapshot هذه تحتوي على أي بيانات وإلا، false . |
|
exportVal() | تصدِّر هذه السياسة محتوى DataSnapshot بالكامل ككائن JavaScript. محتوى DataSnapshot كقيمة JavaScript (كائن أو مصفوفة أو سلسلة أو رقم أو قيمة منطقية أو null ). |
|
for each(action) | لسرد DataSnapshot للعناصر الثانوية.بسبب طريقة عمل كائنات JavaScript، لا يمكن ضمان تطابُق ترتيب البيانات في كائن JavaScript الذي يعرضه val() مع الترتيب على الخادم ولا ترتيب أحداث child_added . وهنا يأتي دور forEach() . تضمن إمكانية تكرار عناصر DataSnapshot الثانوية بترتيب طلب البحث.في حال عدم استخدام طريقة orderBy*() الصريحة، يتم عرض النتائج مرتبة حسب المفتاح (ما لم يتم استخدام الأولويات، وفي هذه الحالة، يتم عرض النتائج حسب الأولوية). |
|
getPriority() | تحصل على قيمة الأولوية للبيانات في DataSnapshot .بدلاً من استخدام الأولوية، يمكن للتطبيقات ترتيب المجموعات حسب المواقع العادية. راجع [فرز البيانات وتصفيتها](/docs/database/web/lists-of-data#sorting_and_filtering_data). قيمة أولوية البيانات. |
|
hasChild(childPath) | تعرض true إذا كان المسار الفرعي المحدد يحتوي على بيانات (غير null ). |
|
hasChildren() | تعرِض ما إذا كان DataSnapshot يتضمّن أي سمات فرعية غير تابعة إلى null .يمكنك استخدام hasChildren() لتحديد ما إذا كان DataSnapshot يتضمّن أي سمات فرعية. إذا كان الأمر كذلك، يمكنك تعدادها باستخدام forEach() . وفي حال عدم التطابق، يعني ذلك أنّ هذه اللقطة تحتوي على قيمة أولية (يمكن استردادها باستخدام val() ) أو تكون فارغة (في هذه الحالة، تعرض val() القيمة null ). true إذا كانت هذه اللقطة تحتوي على أي عناصر ثانوية أما false ، فهو آخر. |
|
numChildren() | تعرض عدد السمات الفرعية الخاصة بسمة DataSnapshot هذه. عدد المواقع الفرعية في هذا DataSnapshot . |
|
toJSON() | تعرض تمثيلاً بتنسيق JSON لهذا الكائن. تمثّل هذه السمة تمثيلاً بتنسيق JSON لهذا العنصر. | |
val() | لاستخراج قيمة JavaScript من DataSnapshot .استنادًا إلى البيانات في DataSnapshot ، قد تعرض الطريقة val() نوعًا عدديًا (سلسلة أو رقم أو قيمة منطقية) أو مصفوفة أو كائنًا. وقد تعرض أيضًا القيمة null ، ما يشير إلى أنّ قيمة DataSnapshot فارغة (لا تحتوي على بيانات). محتوى اللقطة كقيمة JavaScript (كائن أو مصفوفة أو سلسلة أو رقم أو قيمة منطقية أو null ). |
base.DataSnapshot.(دالة إنشائية)
إنشاء مثيل جديد لفئة DataSnapshot
Signature:
constructor(data: any, path?: string, // path is undefined for the database root
app?: App, instance?: string);
المَعلمات
المعلمة | النوع | الوصف |
---|---|---|
البيانات | أي | |
المسار | السلسلة | |
التطبيق | التطبيق | |
مثيل | السلسلة |
قاعدة البيانات.DataSnapshot.instance
Signature:
instance: string;
قاعدة البيانات.DataSnapshot.key
المفتاح (الجزء الأخير من المسار) الخاص بموقع DataSnapshot
هذا.
يعتبر الرمز المميز الأخير في موقع قاعدة البيانات هو المفتاح الخاص به. على سبيل المثال، "ada" هو المفتاح للعقدة /users/ada/
. يؤدي الوصول إلى المفتاح في أي DataSnapshot
إلى عرض مفتاح الموقع الجغرافي الذي أنشأه. ومع ذلك، يؤدي الوصول إلى المفتاح على عنوان URL الجذر لقاعدة بيانات إلى إرجاع null
.
Signature:
get key(): string | null;
قاعدة البيانات.DataSnapshot.ref
تعرض [Reference
](/docs/reference/admin/node/admin.database.Reference) إلى موقع قاعدة البيانات حيث حدثت عملية الكتابة المطلوبة. لديه إذن وصول كامل للقراءة والكتابة.
Signature:
get ref(): database.Reference;
data.DataSnapshot.child()
تحصل على DataSnapshot
للموقع الجغرافي في المسار النسبي المحدّد.
ويمكن أن يكون المسار النسبي اسمًا فرعيًا بسيطًا (مثل "ada") أو مسارًا أعمق مفصولاً بشرطة مائلة (مثل "ada/name/first").
Signature:
child(childPath: string): DataSnapshot;
المَعلمات
المعلمة | النوع | الوصف |
---|---|---|
مَعلمة childPath | السلسلة |
المرتجعات:
data.DataSnapshot.exists()
تعرض true
إذا كانت DataSnapshot
تحتوي على أي بيانات. وهو أكثر فعالية قليلاً من استخدام snapshot.val() !== null
.
true
إذا كانت قيمة DataSnapshot
هذه تحتوي على أي بيانات وبخلاف ذلك، false
.
Signature:
exists(): boolean;
المرتجعات:
قيمة منطقية
data.DataSnapshot.exportVal()
تصدِّر هذه السياسة محتوى DataSnapshot
بالكامل ككائن JavaScript.
محتوى DataSnapshot
كقيمة JavaScript (كائن أو مصفوفة أو سلسلة أو رقم أو قيمة منطقية أو null
).
Signature:
exportVal(): any;
المرتجعات:
أي
base.DataSnapshot.for مستندات()
لتعداد DataSnapshot
من العناصر الثانوية.
لا تضمن طريقة عمل كائنات JavaScript أنّ ترتيب البيانات في كائن JavaScript الذي يعرضه val()
سيطابق الترتيب على الخادم ولا مع ترتيب أحداث child_added
. وهنا يأتي دور forEach()
. ويضمن هذا الإجراء إمكانية تكرار عناصر DataSnapshot
الثانوية بترتيب طلبات البحث.
في حال عدم استخدام طريقة orderBy*()
صريحة، يتم عرض النتائج مرتبة حسب المفتاح (ما لم يتم استخدام الأولويات، وفي هذه الحالة، يتم عرض النتائج حسب الأولوية).
Signature:
forEach(action: (a: DataSnapshot) => boolean | void): boolean;
المَعلمات
المعلمة | النوع | الوصف |
---|---|---|
إجراء | (أ: DataSnapshot) => منطقية | فراغ | دالة يتم طلبها لكل DataSnapshot فرعي. يمكن لمعاودة الاتصال إعادة الاتصال true لإلغاء التعداد الإضافي. true إذا تم إلغاء التعداد بسبب معاودة الاتصال بك في true . |
المرتجعات:
قيمة منطقية
data.DataSnapshot.getPriority()
الحصول على قيمة الأولوية للبيانات في DataSnapshot
بدلاً من استخدام الأولوية، يمكن للتطبيقات ترتيب المجموعات حسب السمات العادية. راجع [فرز البيانات وتصفيتها](/docs/database/web/lists-of-data#sorting_and_filtering_data).
قيمة أولوية البيانات.
Signature:
getPriority(): string | number | null;
المرتجعات:
سلسلة | الرقم | فارغ
قاعدة البيانات.DataSnapshot.hasChild()
تعرض true
إذا كان المسار الفرعي المحدد يحتوي على بيانات (لا تتبع null
).
Signature:
hasChild(childPath: string): boolean;
المَعلمات
المعلمة | النوع | الوصف |
---|---|---|
مَعلمة childPath | السلسلة |
المرتجعات:
قيمة منطقية
data.DataSnapshot.hasChildren()
تعرض ما إذا كان DataSnapshot
يحتوي على أي خصائص فرعية غير تابعة لـ null
أم لا.
يمكنك استخدام hasChildren()
لتحديد ما إذا كان هناك أي أطفال في DataSnapshot
. إذا كان الأمر كذلك، يمكنك تعدادها باستخدام forEach()
. وفي حال عدم التطابق، يعني ذلك أنّ هذه اللقطة تحتوي على قيمة أولية (يمكن استردادها باستخدام val()
) أو تكون فارغة (في هذه الحالة، تعرض val()
القيمة null
).
true
إذا كانت هذه اللقطة تحتوي على أي عناصر ثانوية غير ذلك false
.
Signature:
hasChildren(): boolean;
المرتجعات:
قيمة منطقية
data.DataSnapshot.numChildren()
تعرض عدد الخصائص الفرعية لهذه DataSnapshot
.
عدد المواقع الفرعية الخاصة بهذا DataSnapshot
Signature:
numChildren(): number;
المرتجعات:
رقم
data.DataSnapshot.toJSON()
تعرض تمثيلاً بتنسيق JSON لهذا الكائن.
تمثّل هذه السمة تمثيلاً بتنسيق JSON لهذا العنصر.
Signature:
toJSON(): Record<string, unknown>;
المرتجعات:
سجلّ<string، غير معروف>
data.DataSnapshot.val()
لاستخراج قيمة JavaScript من DataSnapshot
استنادًا إلى البيانات في DataSnapshot
، قد تعرض الطريقة val()
نوعًا عدديًا (سلسلة أو رقم أو قيمة منطقية) أو مصفوفة أو كائن. وقد يعرض أيضًا null
، ما يشير إلى أن DataSnapshot
فارغة (لا تحتوي على بيانات).
محتوى اللقطة كقيمة JavaScript (كائن أو مصفوفة أو سلسلة أو رقم أو قيمة منطقية أو null
).
Signature:
val(): any;
المرتجعات:
أي