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:
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
).