database.DataSnapshot class

Antarmuka yang mewakili snapshot data database Firebase Realtime.

Tanda tangan:

export declare class DataSnapshot implements database.DataSnapshot 

Implementasi: database.DataSnapshot

Konstruktor

Konstruktor Pengubah Keterangan
(konstruktor)(data, jalur, aplikasi, instance) Membuat instance baru dari kelas DataSnapshot

Properti

Properti Pengubah Jenis Keterangan
contoh rangkaian
kunci tali | batal Kunci (bagian terakhir jalur) dari lokasi DataSnapshot ini. Token terakhir di lokasi database dianggap sebagai kuncinya. Misalnya, "ada" adalah kunci untuk node /users/ada/ . Mengakses kunci pada DataSnapshot mana pun akan mengembalikan kunci untuk lokasi yang menghasilkannya. Namun, mengakses kunci pada URL root database akan mengembalikan null .
referensi database.Referensi Mengembalikan [ Reference ](/docs/reference/admin/node/admin.database.Reference) ke lokasi database tempat terjadinya penulisan pemicu. Memiliki akses baca dan tulis penuh.

Metode

metode Pengubah Keterangan
anak (Jalur anak) Mendapatkan DataSnapshot untuk lokasi di jalur relatif yang ditentukan. Jalur relatif dapat berupa nama anak sederhana (misalnya, "ada") atau jalur yang dipisahkan garis miring (misalnya, "ada/nama/depan").
ada() Mengembalikan true jika DataSnapshot ini berisi data apa pun. Ini sedikit lebih efisien daripada menggunakan snapshot.val() !== null . true jika DataSnapshot ini berisi data apa pun; jika tidak, false .
eksporVal() Mengekspor seluruh konten DataSnapshot sebagai objek JavaScript. Isi DataSnapshot sebagai nilai JavaScript (Objek, Array, string, angka, boolean, atau null ).
untukSetiap(tindakan) Menghitung DataSnapshot dari item turunan. Karena cara kerja objek JavaScript, pengurutan data dalam objek JavaScript yang dikembalikan oleh val() tidak dijamin cocok dengan pengurutan di server atau pengurutan peristiwa child_added . Di situlah forEach() berguna. Ini menjamin turunan DataSnapshot dapat diulangi dalam urutan kuerinya. Jika tidak ada metode orderBy*() eksplisit yang digunakan, hasil dikembalikan berdasarkan kunci (kecuali jika prioritas digunakan, dalam hal ini, hasil dikembalikan berdasarkan prioritas).
dapatkan Prioritas() Mendapatkan nilai prioritas data dalam DataSnapshot ini. Sebagai alternatif untuk menggunakan prioritas, aplikasi dapat mengurutkan koleksi berdasarkan properti biasa. Lihat [Menyortir dan memfilter data](/id/docs/database/web/lists-of-data#sorting_and_filtering_data). Nilai prioritas data.
hasChild(childPath) Mengembalikan true jika jalur anak yang ditentukan memiliki data (bukan null ).
hasChildren() Mengembalikan apakah DataSnapshot memiliki properti turunan yang bukan null atau tidak. Anda dapat menggunakan hasChildren() untuk menentukan apakah DataSnapshot memiliki turunan. Jika ya, Anda dapat menghitungnya menggunakan forEach() . Jika tidak, maka snapshot ini berisi nilai primitif (yang dapat diambil dengan val() ) atau kosong (dalam hal ini, val() mengembalikan null ). true jika cuplikan ini memiliki turunan; jika tidak, false .
jumlahAnak() Mengembalikan jumlah properti anak dari DataSnapshot ini. Jumlah properti turunan dari DataSnapshot ini.
keJSON() Mengembalikan representasi objek ini yang dapat diserialkan JSON. Representasi objek ini yang dapat diserialkan JSON.
val() Mengekstrak nilai JavaScript dari DataSnapshot . Bergantung pada data dalam DataSnapshot , metode val() dapat mengembalikan tipe skalar (string, angka, atau boolean), array, atau objek. Ini juga dapat mengembalikan null , yang menunjukkan bahwa DataSnapshot kosong (tidak berisi data). Konten snapshot sebagai nilai JavaScript (Objek, Array, string, angka, boolean, atau null ).

database.DataSnapshot.(konstruktor)

Membuat instance baru dari kelas DataSnapshot

Tanda tangan:

constructor(data: any, path?: string, // path is undefined for the database root
    app?: App, instance?: string);

Parameter

Parameter Jenis Keterangan
data setiap
jalur rangkaian
aplikasi Aplikasi
contoh rangkaian

database.DataSnapshot.instance

Tanda tangan:

instance: string;

database.DataSnapshot.kunci

Kunci (bagian terakhir jalur) dari lokasi DataSnapshot ini .

Token terakhir di lokasi database dianggap sebagai kuncinya. Misalnya, "ada" adalah kunci untuk node /users/ada/ . Mengakses kunci pada DataSnapshot mana pun akan mengembalikan kunci untuk lokasi yang menghasilkannya. Namun, mengakses kunci pada URL root database akan menghasilkan null .

Tanda tangan:

get key(): string | null;

database.DataSnapshot.ref

Mengembalikan [ Reference ](/docs/reference/admin/node/admin.database.Reference) ke lokasi database tempat terjadinya penulisan pemicu. Memiliki akses baca dan tulis penuh.

Tanda tangan:

get ref(): database.Reference;

database.DataSnapshot.anak()

Mendapatkan DataSnapshot untuk lokasi di jalur relatif yang ditentukan.

Jalur relatif dapat berupa nama anak sederhana (misalnya, "ada") atau jalur yang dipisahkan garis miring (misalnya, "ada/nama/depan").

Tanda tangan:

child(childPath: string): DataSnapshot;

Parameter

Parameter Jenis Keterangan
jalur anak rangkaian

Pengembalian:

Cuplikan Data

database.DataSnapshot.ada()

Mengembalikan true jika DataSnapshot ini berisi data apa pun. Ini sedikit lebih efisien daripada menggunakan snapshot.val() !== null .

true jika DataSnapshot ini berisi data apa pun; jika tidak, false .

Tanda tangan:

exists(): boolean;

Pengembalian:

boolean

database.DataSnapshot.exportVal()

Mengekspor seluruh konten DataSnapshot sebagai objek JavaScript.

Isi DataSnapshot sebagai nilai JavaScript (Objek, Array, string, angka, boolean, atau null ).

Tanda tangan:

exportVal(): any;

Pengembalian:

setiap

database.DataSnapshot.forEach()

Menghitung DataSnapshot s item anak-anak.

Karena cara kerja objek JavaScript, pengurutan data dalam objek JavaScript yang dikembalikan oleh val() tidak dijamin cocok dengan pengurutan di server atau pengurutan peristiwa child_added . Di situlah forEach() berguna. Ini menjamin turunan DataSnapshot dapat diulangi dalam urutan kuerinya.

Jika tidak ada metode orderBy*() eksplisit yang digunakan, hasil dikembalikan berdasarkan kunci (kecuali jika prioritas digunakan, dalam hal ini, hasil dikembalikan berdasarkan prioritas).

Tanda tangan:

forEach(action: (a: DataSnapshot) => boolean | void): boolean;

Parameter

Parameter Jenis Keterangan
tindakan (a: Cuplikan Data ) => boolean | ruang kosong Sebuah fungsi yang dipanggil untuk setiap anak DataSnapshot . Callback dapat mengembalikan true untuk membatalkan enumerasi lebih lanjut. true jika enumerasi dibatalkan karena panggilan balik Anda mengembalikan true .

Pengembalian:

boolean

database.DataSnapshot.getPriority()

Mendapatkan nilai prioritas data dalam DataSnapshot ini .

Sebagai alternatif untuk menggunakan prioritas, aplikasi dapat mengurutkan koleksi berdasarkan properti biasa. Lihat [Menyortir dan memfilter data](/id/docs/database/web/lists-of-data#sorting_and_filtering_data).

Nilai prioritas data.

Tanda tangan:

getPriority(): string | number | null;

Pengembalian:

tali | nomor | batal

database.DataSnapshot.hasChild()

Mengembalikan true jika jalur anak yang ditentukan memiliki (bukan null ) data.

Tanda tangan:

hasChild(childPath: string): boolean;

Parameter

Parameter Jenis Keterangan
jalur anak rangkaian

Pengembalian:

boolean

database.DataSnapshot.hasChildren()

Mengembalikan apakah DataSnapshot memiliki properti turunan yang bukan null atau tidak.

Anda dapat menggunakan hasChildren() untuk menentukan apakah DataSnapshot memiliki turunan. Jika ya, Anda dapat menghitungnya menggunakan forEach() . Jika tidak, maka snapshot ini berisi nilai primitif (yang dapat diambil dengan val() ) atau kosong (dalam hal ini, val() mengembalikan null ).

true jika cuplikan ini memiliki turunan; jika tidak, false .

Tanda tangan:

hasChildren(): boolean;

Pengembalian:

boolean

database.DataSnapshot.numChildren()

Mengembalikan jumlah properti anak dari DataSnapshot ini .

Jumlah properti turunan dari DataSnapshot ini .

Tanda tangan:

numChildren(): number;

Pengembalian:

nomor

database.DataSnapshot.toJSON()

Mengembalikan representasi objek ini yang dapat diserialkan JSON.

Representasi objek ini yang dapat diserialkan JSON.

Tanda tangan:

toJSON(): Record<string, unknown>;

Pengembalian:

Rekam<string, tidak diketahui>

database.DataSnapshot.val()

Mengekstrak nilai JavaScript dari DataSnapshot .

Tergantung pada data di DataSnapshot , metode val() dapat mengembalikan tipe skalar (string, angka, atau boolean), array, atau objek. Itu juga dapat mengembalikan null , menunjukkan bahwa DataSnapshot kosong (tidak berisi data).

Konten snapshot sebagai nilai JavaScript (Objek, Array, string, angka, boolean, atau null ).

Tanda tangan:

val(): any;

Pengembalian:

setiap