DataSnapshot class

DataSnapshot berisi data dari lokasi Database.

Setiap kali membaca data dari Database, Anda menerima data sebagai DataSnapshot. DataSnapshot diteruskan ke callback peristiwa yang Anda lampirkan dengan on() atau once(). Anda dapat mengekstrak konten snapshot sebagai objek JavaScript dengan memanggil metode val(). Atau, Anda dapat melintas ke dalam snapshot dengan memanggil child() untuk menampilkan snapshot turunan (yang kemudian dapat Anda panggil val()).

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

Tanda Tangan:

export declare class DataSnapshot 

Properti

Properti Pengubah Jenis Deskripsi
key rangkaian | null (kosong) Kunci (bagian terakhir jalur) lokasi DataSnapshot ini.Token terakhir di lokasi Database dianggap sebagai kuncinya. Misalnya, "ada" adalah kunci untuk simpul {i> /users/ada/ <i}. Mengakses kunci di DataSnapshot akan menampilkan kunci untuk lokasi yang membuatnya. Namun, mengakses kunci di URL root Database akan menampilkan null.
prioritas rangkaian | angka | null (kosong) Mendapatkan nilai prioritas data dalam DataSnapshot ini.Aplikasi tidak perlu menggunakan prioritas, tetapi dapat mengurutkan kumpulan berdasarkan properti biasa (lihat Mengurutkan dan memfilter data ).
referensi DatabaseReference Lokasi DataSnapshot ini.
size angka Menampilkan jumlah properti turunan dari DataSnapshot ini.

Metode

Metode Pengubah Deskripsi
child(jalur) Mendapatkan DataSnapshot lain untuk lokasi di jalur relatif yang ditentukan.Meneruskan jalur relatif ke metode child() DataSnapshot akan menampilkan DataSnapshot lain untuk lokasi di jalur relatif yang ditentukan. Jalur relatif dapat berupa nama turunan sederhana (misalnya, "ada") atau jalur yang lebih dalam yang dipisahkan garis miring (misalnya, "ada/name/first"). Jika lokasi turunan tidak memiliki data, DataSnapshot kosong (yaitu, DataSnapshot yang nilainya adalah null) akan ditampilkan.
exists() Menampilkan true (benar) jika DataSnapshot ini berisi data apa pun. Ini sedikit lebih efisien daripada menggunakan snapshot.val() !== null.
exportVal() Mengekspor seluruh konten DataSnapshot sebagai objek JavaScript.Metode exportVal() mirip dengan val(), tetapi informasi prioritas disertakan (jika tersedia), sehingga cocok untuk mencadangkan data Anda.
forSetiap(tindakan) Menghitung turunan tingkat teratas di IteratedDataSnapshot.Karena cara kerja objek JavaScript, urutan data dalam objek JavaScript yang ditampilkan oleh val() tidak dijamin cocok dengan pengurutan di server atau urutan peristiwa onChildAdded(). Di sinilah forEach() berguna. Hal ini menjamin turunan DataSnapshot akan diiterasi dalam urutan kueri mereka.Jika tidak ada metode orderBy*() eksplisit yang digunakan, hasil akan diurutkan berdasarkan kunci (kecuali jika prioritas digunakan, dalam hal ini, hasilnya akan ditampilkan berdasarkan prioritas).
hasChild(jalur) Menampilkan true (benar) jika jalur turunan yang ditentukan memiliki data (non-null).
hasChildren() Menampilkan apakah DataSnapshot memiliki properti turunan non-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 menampilkan null).
toJSON() Menampilkan representasi JSON-serial yang dapat diserialisasi dari objek ini.
val() Mengekstrak nilai JavaScript dari DataSnapshot.Bergantung pada data dalam DataSnapshot, metode val() dapat menampilkan jenis skalar (string, angka, atau boolean), array, atau objek. Fungsi ini juga dapat menampilkan null, yang menunjukkan bahwa DataSnapshot kosong (tidak berisi data).

KunciDataSnapshot.

Kunci (bagian terakhir jalur) lokasi DataSnapshot ini.

Token terakhir di lokasi Database dianggap sebagai kuncinya. Misalnya, "ada" adalah kunci untuk simpul {i> /users/ada/ <i}. Mengakses kunci di DataSnapshot akan menampilkan kunci untuk lokasi yang membuatnya. Namun, mengakses kunci di URL root Database akan menampilkan null.

Tanda Tangan:

get key(): string | null;

DataSnapshot.priority

Mendapatkan nilai prioritas data dalam DataSnapshot ini.

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

Tanda Tangan:

get priority(): string | number | null;

DataSnapshot.ref

Lokasi DataSnapshot ini.

Tanda Tangan:

readonly ref: DatabaseReference;

DataSnapshot.size

Menampilkan jumlah properti turunan dari DataSnapshot ini.

Tanda Tangan:

get size(): number;

DataSnapshot.child()

Mendapatkan DataSnapshot lain untuk lokasi di jalur relatif yang ditentukan.

Meneruskan jalur relatif ke metode child() DataSnapshot akan menampilkan DataSnapshot lain untuk lokasi di jalur relatif yang ditentukan. Jalur relatif dapat berupa nama turunan sederhana (misalnya, "ada") atau jalur yang lebih dalam yang dipisahkan garis miring (misalnya, "ada/name/first"). Jika lokasi turunan tidak memiliki data, DataSnapshot kosong (yaitu, DataSnapshot yang nilainya adalah null) akan ditampilkan.

Tanda Tangan:

child(path: string): DataSnapshot;

Parameter

Parameter Jenis Deskripsi
jalur string Jalur relatif ke lokasi data turunan.

Hasil:

DataSnapshot

DataSnapshot.exists()

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

Tanda Tangan:

exists(): boolean;

Hasil:

boolean

DataSnapshot.exportVal()

Mengekspor seluruh konten DataSnapshot sebagai objek JavaScript.

Metode exportVal() mirip dengan val(), tetapi metode ini menyertakan informasi prioritas (jika tersedia), sehingga cocok untuk mencadangkan data Anda.

Tanda Tangan:

exportVal(): any;

Hasil:

apa pun

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

DataSnapshot.forSetiap()

Menghitung turunan tingkat teratas di IteratedDataSnapshot.

Karena cara kerja objek JavaScript, urutan data dalam objek JavaScript yang ditampilkan oleh val() tidak dijamin akan cocok dengan pengurutan di server atau urutan peristiwa onChildAdded(). Di sinilah forEach() berguna. Metode ini menjamin turunan DataSnapshot akan diiterasi dalam urutan kueri mereka.

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

Tanda Tangan:

forEach(action: (child: IteratedDataSnapshot) => boolean | void): boolean;

Parameter

Parameter Jenis Deskripsi
action (child: IteratedDataSnapshot) => boolean | kosong Fungsi yang akan dipanggil untuk setiap DataSnapshot turunan. Callback dapat menampilkan true untuk membatalkan enumerasi lebih lanjut.

Hasil:

boolean

true jika enumerasi dibatalkan karena callback Anda menampilkan true.

DataSnapshot.hasChild()

Menampilkan true (benar) jika jalur turunan yang ditentukan memiliki data (non-null).

Tanda Tangan:

hasChild(path: string): boolean;

Parameter

Parameter Jenis Deskripsi
jalur string Jalur relatif ke lokasi calon anak.

Hasil:

boolean

true jika data ada di jalur turunan yang ditentukan; Lainnya false.

DataSnapshot.hasChildren()

Menampilkan apakah DataSnapshot memiliki properti turunan non-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 menampilkan null).

Tanda Tangan:

hasChildren(): boolean;

Hasil:

boolean

true jika snapshot ini memiliki turunan; {i>else false<i}.

DataSnapshot.toJSON()

Menampilkan representasi JSON-serial yang dapat diserialisasi dari objek ini.

Tanda Tangan:

toJSON(): object | null;

Hasil:

objek | null (kosong)

DataSnapshot.val()

Mengekstrak nilai JavaScript dari DataSnapshot.

Bergantung pada data dalam DataSnapshot, metode val() dapat menampilkan jenis skalar (string, angka, atau boolean), array, atau objek. Fungsi ini juga dapat menampilkan null, yang menunjukkan bahwa DataSnapshot kosong (tidak berisi data).

Tanda Tangan:

val(): any;

Hasil:

apa pun

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