DataSnapshot class

DataSnapshot berisi data dari lokasi Database.

Setiap kali Anda membaca data dari Database, Anda menerima data sebagai DataSnapshot . DataSnapshot diteruskan ke callback acara yang Anda lampirkan dengan on() atau once() . Anda dapat mengekstrak konten snapshot sebagai objek JavaScript dengan memanggil metode val() . Alternatifnya, Anda dapat menelusuri snapshot dengan memanggil child() untuk mengembalikan snapshot anak (yang kemudian dapat Anda panggil val() aktif).

DataSnapshot adalah salinan data yang dihasilkan secara efisien dan tidak dapat diubah di lokasi Database. Itu tidak dapat diubah dan tidak akan pernah berubah (untuk mengubah data, Anda selalu memanggil metode set() pada Reference secara langsung).

Tanda tangan:

export declare class DataSnapshot 

Properti

Properti Pengubah Jenis Keterangan
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 .
prioritas tali | nomor | batal Mendapatkan nilai prioritas data dalam DataSnapshot ini. Aplikasi tidak perlu menggunakan prioritas tetapi dapat mengurutkan koleksi berdasarkan properti biasa (lihat Menyortir dan memfilter data ).
referensi Referensi Basis Data Lokasi DataSnapshot ini.
ukuran nomor Mengembalikan jumlah properti anak dari DataSnapshot ini.

Metode

metode Pengubah Keterangan
anak (jalan) Mendapatkan DataSnapshot lain untuk lokasi di jalur relatif yang ditentukan. Melewati jalur relatif ke metode child() DataSnapshot akan mengembalikan DataSnapshot lain untuk lokasi di jalur relatif yang ditentukan. Jalur relatif dapat berupa nama anak sederhana (misalnya, "ada") atau jalur lebih dalam yang dipisahkan garis miring (misalnya, "ada/nama/depan"). Jika lokasi anak tidak memiliki data, DataSnapshot kosong (yaitu DataSnapshot yang nilainya null ) dikembalikan.
ada() Mengembalikan nilai benar jika DataSnapshot ini berisi data apa pun. Ini sedikit lebih efisien daripada menggunakan snapshot.val() !== null .
eksporVal() Mengekspor seluruh konten DataSnapshot sebagai objek JavaScript. Metode exportVal() mirip dengan val() , kecuali informasi prioritas disertakan (jika tersedia), sehingga cocok untuk membuat cadangan data Anda.
untukSetiap(tindakan) Menghitung turunan tingkat atas di IteratedDataSnapshot . Karena cara kerja objek JavaScript, pengurutan data dalam objek JavaScript yang dikembalikan oleh val() tidak dijamin cocok dengan pengurutan di server maupun pengurutan kejadian onChildAdded() . Di situlah forEach() berguna. Ini menjamin turunan DataSnapshot akan 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).
memilikiAnak(jalur) Mengembalikan nilai benar jika jalur anak yang ditentukan memiliki data (bukan nol).
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, snapshot ini berisi nilai primitif (yang dapat diambil dengan val() ) atau kosong (dalam hal ini, val() akan mengembalikan null ).
keJSON() Mengembalikan 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, menunjukkan bahwa DataSnapshot kosong (tidak berisi data).

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;

DataSnapshot.prioritas

Mendapatkan nilai prioritas data dalam DataSnapshot ini .

Aplikasi tidak perlu menggunakan prioritas tetapi dapat mengurutkan koleksi berdasarkan properti biasa (lihat Menyortir dan memfilter data ).

Tanda tangan:

get priority(): string | number | null;

DataSnapshot.ref

Lokasi DataSnapshot ini.

Tanda tangan:

readonly ref: DatabaseReference;

DataSnapshot.ukuran

Mengembalikan jumlah properti anak dari DataSnapshot ini .

Tanda tangan:

get size(): number;

DataSnapshot.anak()

Mendapatkan DataSnapshot lain untuk lokasi di jalur relatif yang ditentukan.

Melewati jalur relatif ke metode child() DataSnapshot akan mengembalikan DataSnapshot lain untuk lokasi di jalur relatif yang ditentukan. Jalur relatif dapat berupa nama anak sederhana (misalnya, "ada") atau jalur lebih dalam yang dipisahkan garis miring (misalnya, "ada/nama/depan"). Jika lokasi anak tidak memiliki data, DataSnapshot kosong (yaitu, DataSnapshot yang nilainya null ) dikembalikan.

Tanda tangan:

child(path: string): DataSnapshot;

Parameter

Parameter Jenis Keterangan
jalur rangkaian Jalur relatif ke lokasi data anak.

Pengembalian:

Cuplikan Data

DataSnapshot.ada()

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

Tanda tangan:

exists(): boolean;

Pengembalian:

boolean

DataSnapshot.exportVal()

Mengekspor seluruh konten DataSnapshot sebagai objek JavaScript.

Metode exportVal() mirip dengan val() , kecuali informasi prioritas disertakan (jika tersedia), sehingga cocok untuk membuat cadangan data Anda.

Tanda tangan:

exportVal(): any;

Pengembalian:

setiap

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

DataSnapshot.untukSetiap()

Menghitung turunan tingkat atas di IteratedDataSnapshot .

Karena cara kerja objek JavaScript, pengurutan data dalam objek JavaScript yang dikembalikan oleh val() tidak dijamin cocok dengan pengurutan di server maupun pengurutan kejadian onChildAdded() . Di situlah forEach() berguna. Ini menjamin turunan DataSnapshot akan 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: (child: IteratedDataSnapshot) => boolean | void): boolean;

Parameter

Parameter Jenis Keterangan
tindakan (anak: IteratedDataSnapshot ) => boolean | ruang kosong Sebuah fungsi yang akan dipanggil untuk setiap anak DataSnapshot. Callback dapat mengembalikan nilai true untuk membatalkan enumerasi lebih lanjut.

Pengembalian:

boolean

benar jika pencacahan dibatalkan karena panggilan balik Anda mengembalikan nilai benar.

DataSnapshot.hasChild()

Mengembalikan nilai benar jika jalur anak yang ditentukan memiliki data (bukan nol).

Tanda tangan:

hasChild(path: string): boolean;

Parameter

Parameter Jenis Keterangan
jalur rangkaian Jalur relatif menuju lokasi calon anak.

Pengembalian:

boolean

true jika data ada di jalur anak yang ditentukan; jika tidak, false .

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() akan mengembalikan null ).

Tanda tangan:

hasChildren(): boolean;

Pengembalian:

boolean

benar jika cuplikan ini memiliki turunan; jika tidak, salah.

DataSnapshot.toJSON()

Mengembalikan representasi objek ini yang dapat diserialkan JSON.

Tanda tangan:

toJSON(): object | null;

Pengembalian:

objek | batal

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. Ini juga dapat mengembalikan null, menunjukkan bahwa DataSnapshot kosong (tidak berisi data).

Tanda tangan:

val(): any;

Pengembalian:

setiap

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