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