@firebase/firestore/lite

Fungsi

Fungsi Keterangan
fungsi(aplikasi, ...)
dapatkanFirestore(aplikasi) Mengembalikan instance Firestore default yang ada dan dikaitkan dengan FirebaseApp yang disediakan . Jika tidak ada instance, inisialisasi instance baru dengan pengaturan default.
getFirestore(aplikasi, databaseId) (BETA) Mengembalikan instance Firestore yang ada dan dikaitkan dengan FirebaseApp yang disediakan . Jika tidak ada instance, inisialisasi instance baru dengan pengaturan default.
inisialisasiFirestore (aplikasi, pengaturan) Menginisialisasi instance baru Cloud Firestore dengan pengaturan yang disediakan. Hanya dapat dipanggil sebelum fungsi lainnya, termasuk getFirestore() . Jika pengaturan khusus kosong, fungsi ini sama dengan memanggil getFirestore() .
inisialisasiFirestore(aplikasi, pengaturan, databaseId) (BETA) Menginisialisasi instance baru Cloud Firestore dengan pengaturan yang disediakan. Hanya dapat dipanggil sebelum fungsi lainnya, termasuk getFirestore() . Jika pengaturan khusus kosong, fungsi ini sama dengan memanggil getFirestore() .
fungsi(penyimpanan api, ...)
koleksi (firestore, jalur, segmen jalur) Mendapatkan instance CollectionReference yang merujuk ke koleksi di jalur absolut yang ditentukan.
collectionGroup(firestore, collectionId) Membuat dan mengembalikan instance Query baru yang menyertakan semua dokumen dalam database yang terdapat dalam koleksi atau subkoleksi dengan collectionId yang diberikan.
connectFirestoreEmulator(firestore, host, port, opsi) Ubah instance ini untuk berkomunikasi dengan emulator Cloud Firestore. Catatan: Ini harus dipanggil sebelum instance ini digunakan untuk melakukan operasi apa pun.
doc(firestore, jalur, segmen jalur) Mendapatkan instance DocumentReference yang merujuk ke dokumen pada jalur absolut yang ditentukan.
runTransaction(firestore, updateFunction, opsi) Mengeksekusi updateFunction yang diberikan dan kemudian mencoba melakukan perubahan yang diterapkan dalam transaksi. Jika ada dokumen yang dibaca dalam transaksi yang berubah, Cloud Firestore akan mencoba kembali updateFunction . Jika gagal dilakukan setelah 5 kali mencoba, transaksi gagal. Jumlah maksimum penulisan yang diperbolehkan dalam satu transaksi adalah 500.
mengakhiri (firestore) Menghentikan instance Firestore yang disediakan. Setelah memanggil terminate() hanya fungsi clearIndexedDbPersistence() yang dapat digunakan. Fungsi lainnya akan memunculkan FirestoreError . Penghentian tidak membatalkan penulisan apa pun yang tertunda, dan janji apa pun yang menunggu respons dari server tidak akan diselesaikan. Untuk memulai ulang setelah penghentian, buat instance Firestore baru dengan getFirestore() . Catatan: Dalam keadaan normal, pemanggilan terminate() tidak diperlukan. Fungsi ini hanya berguna ketika Anda ingin memaksa instance ini melepaskan semua sumber dayanya atau dikombinasikan dengan clearIndexedDbPersistence() untuk memastikan bahwa semua status lokal dimusnahkan di antara pengujian yang dijalankan.
tulisBatch(firestore) Membuat kumpulan tulis, digunakan untuk melakukan beberapa penulisan sebagai satu operasi atom. Jumlah maksimum penulisan yang diperbolehkan dalam satu WriteBatch adalah 500. Hasil penulisan ini hanya akan tercermin dalam pembacaan dokumen yang terjadi setelah janji yang dikembalikan diselesaikan. Jika klien sedang offline, penulisan gagal. Jika Anda ingin melihat modifikasi lokal atau penulisan buffer hingga klien online, gunakan Firestore SDK lengkap.
fungsi()
menghitung() Buat objek AggregateField yang dapat digunakan untuk menghitung jumlah dokumen dalam kumpulan hasil kueri.
hapusField() Mengembalikan sentinel untuk digunakan dengan updateDoc() atau setDoc() dengan {merge: true} untuk menandai bidang yang akan dihapus.
ID dokumen() Mengembalikan FieldPath sentinel khusus untuk merujuk ke ID dokumen. Ini dapat digunakan dalam kueri untuk mengurutkan atau memfilter berdasarkan ID dokumen.
dapatkan Firestore() Mengembalikan instance Firestore default yang ada dan dikaitkan dengan FirebaseApp default . Jika tidak ada instance, inisialisasi instance baru dengan pengaturan default.
server Stempel Waktu() Mengembalikan sentinel yang digunakan dengan setDoc() atau updateDoc() untuk menyertakan stempel waktu yang dibuat server dalam data tertulis.
fungsi(databaseId, ...)
dapatkanFirestore(databaseId) (BETA) Mengembalikan instance Firestore yang ada dan dikaitkan dengan FirebaseApp default . Jika tidak ada instance, inisialisasi instance baru dengan pengaturan default.
fungsi(elemen, ...)
arrayHapus(elemen) Mengembalikan nilai khusus yang dapat digunakan dengan setDoc() atau yang memberitahu server untuk menghapus elemen tertentu dari nilai array apa pun yang sudah ada di server. Semua instance dari setiap elemen yang ditentukan akan dihapus dari array. Jika bidang yang diubah belum berupa array, maka akan ditimpa dengan array kosong.
arrayUnion(elemen) Mengembalikan nilai khusus yang dapat digunakan dengan setDoc() atau updateDoc() yang memberitahu server untuk menyatukan elemen tertentu dengan nilai array apa pun yang sudah ada di server. Setiap elemen tertentu yang belum ada dalam array akan ditambahkan di akhir. Jika bidang yang diubah belum berupa larik, maka akan ditimpa dengan larik yang berisi elemen yang ditentukan secara persis.
fungsi(bidang, ...)
rata-rata (bidang) Buat objek AggregateField yang dapat digunakan untuk menghitung rata-rata bidang tertentu pada rentang dokumen dalam kumpulan hasil kueri.
jumlah(bidang) Buat objek AggregateField yang dapat digunakan untuk menghitung jumlah bidang tertentu pada rentang dokumen dalam kumpulan hasil kueri.
fungsi(Jalur Bidang, ...)
orderBy(fieldPath, arahStr) Membuat QueryOrderByConstraint yang mengurutkan hasil kueri berdasarkan bidang yang ditentukan, secara opsional dalam urutan menurun, bukan menaik. Catatan: Dokumen yang tidak berisi kolom tertentu tidak akan ditampilkan dalam hasil kueri.
di mana(fieldPath, opStr, nilai) Membuat QueryFieldFilterConstraint yang mewajibkan dokumen harus berisi bidang tertentu dan nilainya harus memenuhi batasan relasi yang disediakan.
fungsi(nilai bidang, ...)
endAt(nilai bidang) Membuat QueryEndAtConstraint yang mengubah kumpulan hasil agar berakhir pada bidang yang disediakan relatif terhadap urutan kueri. Urutan nilai bidang harus sesuai dengan urutan berdasarkan klausa kueri.
endBefore(nilai bidang) Membuat QueryEndAtConstraint yang mengubah kumpulan hasil menjadi akhir sebelum bidang yang disediakan relatif terhadap urutan kueri. Urutan nilai bidang harus sesuai dengan urutan berdasarkan klausa kueri.
startAfter(nilai bidang) Membuat QueryStartAtConstraint yang mengubah kumpulan hasil untuk dimulai setelah bidang yang disediakan relatif terhadap urutan kueri. Urutan nilai bidang harus sesuai dengan urutan berdasarkan klausa kueri.
startAt(nilai bidang) Membuat QueryStartAtConstraint yang mengubah kumpulan hasil agar dimulai pada bidang yang disediakan relatif terhadap urutan kueri. Urutan nilai bidang harus sesuai dengan urutan berdasarkan klausa kueri.
fungsi(kiri, ...)
agregatFieldEqual (kiri, kanan) Membandingkan dua 'AggregateField ` contoh untuk kesetaraan.
agregatQuerySnapshotEqual(kiri, kanan) Membandingkan dua instance AggregateQuerySnapshot untuk kesetaraan. Dua instans AggregateQuerySnapshot dianggap "sama" jika keduanya memiliki kueri dasar yang membandingkan data yang sama dan setara.
queryEqual (kiri, kanan) Mengembalikan nilai benar jika kueri yang diberikan mengarah ke koleksi yang sama dan menerapkan batasan yang sama.
refEqual (kiri, kanan) Mengembalikan nilai benar jika referensi yang diberikan sama.
snapshotEqual (kiri, kanan) Mengembalikan nilai benar jika snapshot yang disediakan sama.
fungsi(batas, ...)
batas(batas) Membuat QueryLimitConstraint yang hanya mengembalikan dokumen pertama yang cocok.
batasKe Terakhir(batas) Membuat QueryLimitConstraint yang hanya mengembalikan dokumen terakhir yang cocok. Anda harus menentukan setidaknya satu klausa orderBy untuk kueri limitToLast , jika tidak, pengecualian akan diberikan selama eksekusi.
fungsi(tingkat log, ...)
setLogLevel(logLevel) Menetapkan verbositas log Cloud Firestore (debug, error, atau senyap).
fungsi(n, ...)
kenaikan(n) Mengembalikan nilai khusus yang dapat digunakan dengan setDoc() atau updateDoc() yang memberitahu server untuk menaikkan nilai bidang saat ini dengan nilai yang diberikan. Jika operan atau nilai bidang saat ini menggunakan presisi floating point, semua aritmatika mengikuti semantik IEEE 754. Jika kedua nilai adalah bilangan bulat, nilai di luar rentang angka aman JavaScript ( Number.MIN_SAFE_INTEGER hingga Number.MAX_SAFE_INTEGER ) juga dapat mengalami kehilangan presisi. Selanjutnya, setelah diproses oleh backend Firestore, semua operasi bilangan bulat dibatasi antara -2^63 dan 2^63-1. Jika nilai bidang saat ini bukan bertipe number , atau jika bidang tersebut belum ada, transformasi akan menetapkan bidang tersebut ke nilai yang diberikan.
fungsi(kueri, ...)
getAgregat(kueri, spesifikasi agregat) Menghitung agregasi tertentu atas dokumen dalam kumpulan hasil kueri tertentu tanpa benar-benar mengunduh dokumen. Menggunakan fungsi ini untuk melakukan agregasi adalah efisien karena hanya nilai agregasi akhir, bukan data dokumen, yang diunduh. Fungsi ini dapat melakukan agregasi dokumen jika kumpulan hasil terlalu besar untuk diunduh seluruhnya (ribuan dokumen).
getCount (kueri) Menghitung jumlah dokumen dalam kumpulan hasil kueri yang diberikan tanpa benar-benar mengunduh dokumen tersebut. Penggunaan fungsi ini untuk menghitung dokumen adalah efisien karena hanya penghitungan akhir, bukan data dokumen, yang diunduh. Fungsi ini dapat menghitung dokumen jika kumpulan hasil terlalu besar untuk diunduh seluruhnya (ribuan dokumen).
getDocs (kueri) Menjalankan kueri dan mengembalikan hasilnya sebagai QuerySnapshot . Semua kueri dieksekusi langsung oleh server, meskipun kueri tersebut telah dieksekusi sebelumnya. Modifikasi terkini hanya tercermin dalam hasil yang diambil jika sudah diterapkan oleh backend. Jika klien sedang offline, operasi gagal. Untuk melihat hasil cache sebelumnya dan modifikasi lokal, gunakan Firestore SDK lengkap.
kueri(kueri, filter komposit, batasan kueri) Membuat instance Query baru yang tidak dapat diubah yang diperluas untuk juga menyertakan batasan kueri tambahan.
kueri(kueri, batasan kueri) Membuat instance Query baru yang tidak dapat diubah yang diperluas untuk juga menyertakan batasan kueri tambahan.
fungsi(kendala kueri, ...)
dan (kendala permintaan) Membuat QueryCompositeFilterConstraint baru yang merupakan gabungan dari batasan filter yang diberikan. Filter konjungsi menyertakan dokumen jika memenuhi semua filter yang diberikan.
atau (kendala permintaan) Membuat QueryCompositeFilterConstraint baru yang merupakan disjungsi dari batasan filter yang diberikan. Filter disjungsi menyertakan dokumen jika memenuhi salah satu filter yang diberikan.
fungsi(referensi, ...)
addDoc(referensi, data) Tambahkan dokumen baru ke CollectionReference tertentu dengan data yang diberikan, berikan ID dokumen secara otomatis. Hasil penulisan ini hanya akan tercermin dalam pembacaan dokumen yang terjadi setelah janji yang dikembalikan diselesaikan. Jika klien sedang offline, penulisan gagal. Jika Anda ingin melihat modifikasi lokal atau penulisan buffer hingga klien online, gunakan Firestore SDK lengkap.
koleksi (referensi, jalur, segmen jalur) Mendapatkan instance CollectionReference yang merujuk ke subkoleksi reference di jalur relatif yang ditentukan.
koleksi (referensi, jalur, segmen jalur) Mendapatkan instance CollectionReference yang merujuk ke subkoleksi reference di jalur relatif yang ditentukan.
deleteDoc (referensi) Menghapus dokumen yang dirujuk oleh DocumentReference yang ditentukan. Penghapusan hanya akan tercermin dalam pembacaan dokumen yang terjadi setelah janji yang dikembalikan diselesaikan. Jika klien sedang offline, penghapusan gagal. Jika Anda ingin melihat modifikasi lokal atau penulisan buffer hingga klien online, gunakan Firestore SDK lengkap.
doc(referensi, jalur, segmen jalur) Mendapatkan instance DocumentReference yang merujuk ke dokumen dalam reference di jalur relatif yang ditentukan. Jika tidak ada jalur yang ditentukan, ID unik yang dibuat secara otomatis akan digunakan untuk DocumentReference yang dikembalikan.
doc(referensi, jalur, segmen jalur) Mendapatkan instance DocumentReference yang merujuk ke dokumen dalam reference di jalur relatif yang ditentukan.
dapatkanDoc(referensi) Membaca dokumen yang dirujuk oleh referensi dokumen yang ditentukan. Semua dokumen diambil langsung dari server, meskipun dokumen tersebut sebelumnya telah dibaca atau dimodifikasi. Modifikasi terbaru hanya tercermin dalam DocumentSnapshot yang diambil jika sudah diterapkan oleh backend. Jika klien sedang offline, pembacaan gagal. Jika Anda ingin menggunakan caching atau melihat modifikasi lokal, silakan gunakan Firestore SDK lengkap.
setDoc(referensi, data) Menulis ke dokumen yang dirujuk oleh DocumentReference yang ditentukan. Jika dokumennya belum ada, maka akan dibuat. Hasil penulisan ini hanya akan tercermin dalam pembacaan dokumen yang terjadi setelah janji yang dikembalikan diselesaikan. Jika klien sedang offline, penulisan gagal. Jika Anda ingin melihat modifikasi lokal atau penulisan buffer hingga klien online, gunakan Firestore SDK lengkap.
setDoc(referensi, data, opsi) Menulis ke dokumen yang dirujuk oleh DocumentReference yang ditentukan. Jika dokumennya belum ada, maka akan dibuat. Jika Anda menyediakan merge atau mergeFields , data yang disediakan dapat digabungkan ke dalam dokumen yang sudah ada. Hasil penulisan ini hanya akan tercermin dalam pembacaan dokumen yang terjadi setelah janji yang dikembalikan diselesaikan. Jika klien sedang offline, penulisan gagal. Jika Anda ingin melihat modifikasi lokal atau penulisan buffer hingga klien online, gunakan Firestore SDK lengkap.
perbaruiDoc(referensi, data) Memperbarui bidang dalam dokumen yang dirujuk oleh DocumentReference yang ditentukan. Pembaruan akan gagal jika diterapkan pada dokumen yang tidak ada. Hasil pembaruan ini hanya akan tercermin dalam pembacaan dokumen yang terjadi setelah janji yang dikembalikan diselesaikan. Jika klien sedang offline, pembaruan gagal. Jika Anda ingin melihat modifikasi lokal atau penulisan buffer hingga klien online, gunakan Firestore SDK lengkap.
updateDoc(referensi, bidang, nilai, moreFieldsAndValues) Bidang pembaruan dalam dokumen yang dirujuk oleh DocumentReference yang ditentukan Pembaruan akan gagal jika diterapkan pada dokumen yang tidak ada. Bidang bertumpuk dapat diperbarui dengan menyediakan string jalur bidang yang dipisahkan titik atau dengan menyediakan objek FieldPath . Hasil pembaruan ini hanya akan tercermin dalam pembacaan dokumen yang terjadi setelah janji yang dikembalikan diselesaikan. Jika klien sedang offline, pembaruan gagal. Jika Anda ingin melihat modifikasi lokal atau penulisan buffer hingga klien online, gunakan Firestore SDK lengkap.
fungsi(potret, ...)
endAt(jepretan) Membuat QueryEndAtConstraint yang mengubah kumpulan hasil menjadi akhir pada dokumen yang disediakan (inklusif). Posisi akhir relatif terhadap urutan kueri. Dokumen harus berisi semua bidang yang disediakan dalam orderBy kueri.
akhirSebelum(snapshot) Membuat QueryEndAtConstraint yang mengubah kumpulan hasil menjadi akhir sebelum dokumen yang disediakan (eksklusif). Posisi akhir relatif terhadap urutan kueri. Dokumen harus berisi semua bidang yang disediakan dalam orderBy kueri.
mulaiSetelah(jepretan) Membuat QueryStartAtConstraint yang mengubah kumpulan hasil untuk dimulai setelah dokumen yang disediakan (eksklusif). Posisi awal relatif terhadap urutan kueri. Dokumen harus berisi semua bidang yang disediakan dalam orderBy kueri.
mulaiDi(jepretan) Membuat QueryStartAtConstraint yang mengubah kumpulan hasil agar dimulai pada dokumen yang disediakan (inklusif). Posisi awal relatif terhadap urutan kueri. Dokumen harus berisi semua bidang yang disediakan dalam orderBy kueri ini.

Kelas

Kelas Keterangan
Bidang Agregat Mewakili agregasi yang dapat dilakukan oleh Firestore.
Snapshot Kueri Agregat Hasil mengeksekusi kueri agregasi.
Byte Objek yang tidak dapat diubah yang mewakili array byte.
KoleksiReferensi Objek CollectionReference dapat digunakan untuk menambahkan dokumen, mendapatkan referensi dokumen, dan menanyakan dokumen (menggunakan query() ).
Referensi Dokumen DocumentReference mengacu pada lokasi dokumen di database Firestore dan dapat digunakan untuk menulis, membaca, atau mendengarkan lokasi tersebut. Dokumen di lokasi yang direferensikan mungkin ada atau mungkin tidak ada.
Cuplikan Dokumen DocumentSnapshot berisi data yang dibaca dari dokumen di database Firestore Anda. Data dapat diekstraksi dengan .data() atau .get(<field>) untuk mendapatkan bidang tertentu. Untuk DocumentSnapshot yang menunjuk ke dokumen yang tidak ada, akses data apa pun akan menghasilkan 'tidak terdefinisi'. Anda dapat menggunakan metode exists() untuk memverifikasi keberadaan dokumen secara eksplisit.
Jalur Lapangan FieldPath mengacu pada bidang dalam dokumen. Jalur dapat terdiri dari satu nama bidang (mengacu pada bidang tingkat atas dalam dokumen), atau daftar nama bidang (merujuk pada bidang bertumpuk dalam dokumen). Buat FieldPath dengan memberikan nama bidang. Jika lebih dari satu nama bidang disediakan, jalur akan mengarah ke bidang bertumpuk dalam dokumen.
Nilai Bidang Nilai penjaga yang dapat digunakan saat menulis kolom dokumen dengan set() atau update() .
toko pemadam kebakaran Antarmuka layanan Cloud Firestore. Jangan panggil konstruktor ini secara langsung. Sebagai gantinya, gunakan getFirestore() .
Kesalahan Firestore Kesalahan yang ditampilkan oleh operasi Firestore.
Titik Geo Objek yang tidak dapat diubah yang mewakili lokasi geografis di Firestore. Lokasi direpresentasikan sebagai pasangan lintang/bujur. Nilai lintang berada pada kisaran [-90, 90]. Nilai garis bujur berada pada kisaran [-180, 180].
Pertanyaan Query mengacu pada kueri yang dapat Anda baca atau dengarkan. Anda juga dapat membuat objek Query yang disempurnakan dengan menambahkan filter dan pengurutan.
Batasan QueryCompositeFilter QueryCompositeFilterConstraint digunakan untuk mempersempit kumpulan dokumen yang dikembalikan oleh kueri Firestore dengan melakukan logika OR atau AND dari beberapa QueryFieldFilterConstraint s atau QueryCompositeFilterConstraint S. QueryCompositeFilterConstraint s dibuat dengan memanggil or() atau and() dan kemudian dapat diteruskan ke query() untuk membuat instance kueri baru yang juga berisi QueryCompositeFilterConstraint .
Batasan Kueri QueryConstraint digunakan untuk mempersempit kumpulan dokumen yang dikembalikan oleh kueri Firestore. QueryConstraint dibuat dengan memanggil Where() , dipesan oleh() , dimulai dari() , mulaiSetelah() , akhirSebelum() , akhirPada() , membatasi() , limitToLast() dan kemudian dapat diteruskan ke query() untuk membuat instance kueri baru yang juga berisi QueryConstraint ini.
Cuplikan Dokumen Kueri QueryDocumentSnapshot berisi data yang dibaca dari dokumen di database Firestore Anda sebagai bagian dari kueri. Dokumen dijamin ada dan datanya dapat diekstraksi dengan .data() atau .get(<field>) untuk mendapatkan field tertentu. QueryDocumentSnapshot menawarkan permukaan API yang sama dengan DocumentSnapshot . Karena hasil kueri hanya berisi dokumen yang ada, properti exists akan selalu benar dan data() tidak akan pernah mengembalikan 'tidak terdefinisi'.
QueryEndAtConstraint QueryEndAtConstraint digunakan untuk mengecualikan dokumen dari akhir kumpulan hasil yang dikembalikan oleh kueri Firestore. QueryEndAtConstraint s dibuat dengan memanggil endAt() atau endBefore() dan kemudian dapat diteruskan ke query() untuk membuat instance kueri baru yang juga berisi QueryEndAtConstraint ini.
Batasan QueryFieldFilter QueryFieldFilterConstraint digunakan untuk mempersempit kumpulan dokumen yang dikembalikan oleh kueri Firestore dengan memfilter satu atau beberapa kolom dokumen. QueryFieldFilterConstraint s dibuat dengan memanggil Where() dan kemudian dapat diteruskan ke query() untuk membuat instance kueri baru yang juga berisi QueryFieldFilterConstraint ini.
Kendala Batas Kueri QueryLimitConstraint digunakan untuk membatasi jumlah dokumen yang dikembalikan oleh kueri Firestore. QueryLimitConstraint s dibuat dengan memanggil limit() atau limitToLast() dan kemudian dapat diteruskan ke query() untuk membuat instance kueri baru yang juga berisi QueryLimitConstraint ini.
QueryOrderByConstraint QueryOrderByConstraint digunakan untuk mengurutkan kumpulan dokumen yang dikembalikan oleh kueri Firestore. QueryOrderByConstraint s dibuat dengan memanggil orderBy() dan kemudian dapat diteruskan ke query() untuk membuat instance kueri baru yang juga berisi QueryOrderByConstraint ini. Catatan: Dokumen yang tidak berisi bidang orderBy tidak akan muncul dalam hasil kueri.
Cuplikan Kueri QuerySnapshot berisi nol atau lebih objek DocumentSnapshot yang mewakili hasil kueri. Dokumen dapat diakses sebagai array melalui properti docs atau dihitung menggunakan metode forEach . Jumlah dokumen dapat ditentukan melalui properti empty dan size .
QueryStartAtConstraint QueryStartAtConstraint digunakan untuk mengecualikan dokumen dari awal kumpulan hasil yang dikembalikan oleh kueri Firestore. QueryStartAtConstraint s dibuat dengan memanggil startAt() atau startAfter() dan kemudian dapat diteruskan ke query() untuk membuat instance kueri baru yang juga berisi QueryStartAtConstraint ini.
Stempel waktu Timestamp mewakili titik waktu yang tidak bergantung pada zona waktu atau kalender apa pun, direpresentasikan sebagai detik dan pecahan detik pada resolusi nanodetik dalam waktu UTC Epoch. Ini dikodekan menggunakan Kalender Masehi Proleptik yang memperluas kalender Masehi ke tahun pertama. Ini dikodekan dengan asumsi semua menit berdurasi 60 detik, yaitu detik kabisat "diolesi" sehingga tidak diperlukan tabel detik kabisat untuk interpretasi. Rentangnya adalah dari 0001-01-01T00:00:00Z hingga 9999-12-31T23:59:59.999999999Z. Untuk contoh dan spesifikasi lebih lanjut, lihat definisi Stempel Waktu .
Transaksi Referensi ke suatu transaksi. Objek Transaction yang diteruskan ke updateFunction transaksi menyediakan metode untuk membaca dan menulis data dalam konteks transaksi. Lihat jalankanTransaksi() .
TulisBatch Batch tulis, digunakan untuk melakukan beberapa penulisan sebagai satu unit atom. Objek WriteBatch dapat diperoleh dengan memanggil writeBatch() . Ini menyediakan metode untuk menambahkan penulisan ke kumpulan penulisan. Tidak ada penulisan yang akan dilakukan (atau terlihat secara lokal) hingga WriteBatch.commit() dipanggil.

Antarmuka

Antarmuka Keterangan
Spesifikasi Agregat Menentukan sekumpulan agregasi dan aliasnya.
Data Dokumen Data dokumen (untuk digunakan dengan setDoc() ) terdiri dari bidang yang dipetakan ke nilai.
Konverter Data Firestore Konverter yang digunakan oleh withConverter() untuk mengubah objek pengguna bertipe AppModelType menjadi data Firestore bertipe DbModelType . Menggunakan konverter memungkinkan Anda menentukan argumen tipe umum saat menyimpan dan mengambil objek dari Firestore. Dalam konteks ini, "AppModel" adalah kelas yang digunakan dalam aplikasi untuk mengemas informasi dan fungsionalitas terkait. Kelas seperti itu, misalnya, dapat memiliki properti dengan tipe data yang kompleks dan bertingkat, properti yang digunakan untuk memoisasi, properti dengan tipe yang tidak didukung oleh Firestore (seperti symbol dan bigint ), dan fungsi pembantu yang melakukan operasi gabungan. Kelas seperti itu tidak cocok dan/atau tidak mungkin disimpan ke dalam database Firestore. Sebaliknya, instance dari kelas tersebut perlu dikonversi menjadi "objek JavaScript lama biasa" (POJO) dengan properti primitif eksklusif, yang berpotensi bersarang di dalam POJO atau array POJO lain. Dalam konteks ini, tipe ini disebut sebagai "DbModel" dan akan menjadi objek yang cocok untuk disimpan di Firestore. Demi kenyamanan, aplikasi dapat mengimplementasikan FirestoreDataConverter dan mendaftarkan konverter dengan objek Firestore, seperti DocumentReference atau Query , untuk secara otomatis mengonversi AppModel ke DbModel saat menyimpan ke Firestore, dan mengonversi DbModel ke AppModel saat mengambil dari Firestore.
Pengaturan Menentukan konfigurasi khusus untuk instance Cloud Firestore Anda. Anda harus mengaturnya sebelum menjalankan metode lainnya.
Opsi Transaksi Opsi untuk menyesuaikan perilaku transaksi.

Ketik Alias

Ketik Alias Keterangan
Tambahkan Awalan Ke Kunci Mengembalikan peta baru di mana setiap kunci diawali dengan kunci luar yang ditambahkan ke titik.
Tipe Bidang Agregat Penyatuan semua tipe AggregateField yang didukung oleh Firestore.
Data Spesifikasi Agregat Tipe yang kuncinya diambil dari AggregateSpec , dan nilainya merupakan hasil agregasi yang dilakukan oleh AggregateField terkait dari input AggregateSpec .
Tipe Agregat Tipe gabungan mewakili tipe agregat yang akan dilakukan.
Bidang Pembaruan Anak Pembantu untuk menghitung bidang bersarang untuk tipe T1 tertentu. Ini diperlukan untuk mendistribusikan tipe gabungan seperti undefined | {...} (terjadi untuk props opsional) atau {a: A} | {b: B} . Dalam kasus penggunaan ini, V digunakan untuk mendistribusikan tipe gabungan T[K] pada Record , karena T[K] dievaluasi sebagai ekspresi dan tidak didistribusikan. Lihat https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types
Kode Kesalahan Firestore Kumpulan kode status Firestore. Kodenya sama dengan yang diekspos oleh gRPC di sini: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md Nilai yang mungkin: - 'dibatalkan': Operasi dibatalkan (biasanya oleh pemanggil). - 'tidak diketahui': Kesalahan tidak diketahui atau kesalahan dari domain kesalahan yang berbeda. - 'argumen tidak valid': Klien menentukan argumen yang tidak valid. Perhatikan bahwa ini berbeda dari 'prakondisi gagal'. 'argumen-tidak valid' menunjukkan argumen yang bermasalah terlepas dari keadaan sistem (misalnya nama field tidak valid). - 'batas waktu terlampaui': Batas waktu berakhir sebelum operasi dapat diselesaikan. Untuk operasi yang mengubah status sistem, kesalahan ini mungkin muncul meskipun operasi telah berhasil diselesaikan. Misalnya, respons yang berhasil dari server bisa saja tertunda cukup lama hingga tenggat waktunya habis. - 'tidak ditemukan': Beberapa dokumen yang diminta tidak ditemukan. - 'sudah ada': Beberapa dokumen yang kami coba buat sudah ada. - 'izin ditolak': Penelepon tidak memiliki izin untuk menjalankan operasi yang ditentukan. - 'kehabisan sumber daya': Beberapa sumber daya telah habis, mungkin kuota per pengguna, atau mungkin seluruh sistem file kehabisan ruang. - 'prakondisi gagal': Operasi ditolak karena sistem tidak dalam kondisi yang diperlukan untuk pelaksanaan operasi. - 'dibatalkan': Operasi dibatalkan, biasanya karena masalah konkurensi seperti pembatalan transaksi, dll. - 'di luar jangkauan': Operasi dilakukan melewati rentang yang valid. - 'tidak diterapkan': Operasi tidak diterapkan atau tidak didukung/diaktifkan. - 'internal': Kesalahan internal. Berarti beberapa invarian yang diharapkan oleh sistem yang mendasarinya telah rusak. Jika Anda melihat salah satu kesalahan ini, berarti ada sesuatu yang sangat rusak. - 'tidak tersedia': Layanan saat ini tidak tersedia. Kemungkinan besar ini adalah kondisi sementara dan dapat diperbaiki dengan mencoba lagi dengan backoff. - 'kehilangan data': Kehilangan atau kerusakan data yang tidak dapat dipulihkan. - 'tidak diautentikasi': Permintaan tidak memiliki kredensial otentikasi yang valid untuk operasi tersebut.
Bidang Pembaruan Bersarang Untuk setiap bidang (misalnya 'bar'), temukan semua kunci yang disarangkan (misalnya { 'bar.baz': T1, 'bar.qux': T2 } ). Persimpangan keduanya untuk membuat satu peta yang berisi semua kemungkinan kunci yang semuanya ditandai sebagai opsional
Pesan Berdasarkan Arah Arah klausa orderBy() ditentukan sebagai 'desc' atau 'asc' (descending atau ascending).
PartialWithFieldValue Mirip dengan Partial<T> TypeScript, tetapi memungkinkan bidang bersarang dihilangkan dan FieldValues ​​diteruskan sebagai nilai properti.
Primitif Tipe primitif.
Tipe Batasan Kueri Menjelaskan berbagai batasan kueri yang tersedia di SDK ini.
Batasan Filter Kueri QueryFilterConstraint adalah tipe gabungan pembantu yang mewakili QueryFieldFilterConstraint dan QueryCompositeFilterConstraint .
Batasan KueriNonFilter QueryNonFilterConstraint adalah tipe gabungan pembantu yang mewakili QueryConstraints yang digunakan untuk mempersempit atau mengurutkan kumpulan dokumen, namun tidak secara eksplisit memfilter bidang dokumen. QueryNonFilterConstraint dibuat dengan memanggil orderBy() , dimulai dari() , mulaiSetelah() , akhirSebelum() , akhirPada() , limit() atau limitToLast() dan kemudian dapat diteruskan ke query() untuk membuat instance kueri baru yang juga berisi QueryConstraint .
Set Opsi Objek opsi yang mengonfigurasi perilaku setDoc() , dan panggilan. Panggilan ini dapat dikonfigurasi untuk melakukan penggabungan granular alih-alih menimpa dokumen target secara keseluruhan dengan menyediakan SetOptions dengan merge: true .
Persatuan Ke Persimpangan Diberikan tipe gabungan U = T1 | T2 | ... , mengembalikan tipe berpotongan (T1 & T2 & ...) . Menggunakan tipe kondisional distributif dan inferensi dari tipe kondisional. Ini berfungsi karena beberapa kandidat untuk variabel tipe yang sama dalam posisi kontra-varian menyebabkan tipe persimpangan dapat disimpulkan. https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-inference-in-conditional-types https://stackoverflow.com/questions/50374908/transform-union-type-to-intersection -jenis
Perbaharui data Perbarui data (untuk digunakan dengan updateDoc() ) yang terdiri dari jalur bidang (misalnya 'foo' atau 'foo.baz') yang dipetakan ke nilai. Bidang yang berisi titik merujuk pada bidang bersarang dalam dokumen. FieldValues ​​dapat diteruskan sebagai nilai properti.
DimanaFilterOp Kondisi filter dalam klausa Where() ditentukan menggunakan string '&lt;', '&lt;=', '==', '!=', '&gt;=', '&gt;', 'array-contains' , 'dalam', 'array-berisi-apa saja', dan 'tidak-dalam'.
DenganFieldValue Mengizinkan FieldValues ​​diteruskan sebagai nilai properti dengan tetap menjaga keamanan jenis.

fungsi(aplikasi, ...)

dapatkanFirestore(aplikasi)

Mengembalikan instance Firestore default yang ada dan dikaitkan dengan FirebaseApp yang disediakan . Jika tidak ada instance, inisialisasi instance baru dengan pengaturan default.

Tanda tangan:

export declare function getFirestore(app: FirebaseApp): Firestore;

Parameter

Parameter Jenis Keterangan
aplikasi Aplikasi Firebase Instance FirebaseApp yang dikaitkan dengan instance Firestore yang dikembalikan.

Pengembalian:

toko pemadam kebakaran

Contoh Firestore dari aplikasi yang disediakan.

getFirestore(aplikasi, databaseId)

API ini disediakan sebagai pratinjau untuk pengembang dan dapat berubah berdasarkan masukan yang kami terima. Jangan gunakan API ini di lingkungan produksi.

Mengembalikan instance Firestore yang ada dan dikaitkan dengan FirebaseApp yang disediakan . Jika tidak ada instance, inisialisasi instance baru dengan pengaturan default.

Tanda tangan:

export declare function getFirestore(app: FirebaseApp, databaseId: string): Firestore;

Parameter

Parameter Jenis Keterangan
aplikasi Aplikasi Firebase Instance FirebaseApp yang dikaitkan dengan instance Firestore yang dikembalikan.
databaseId rangkaian Nama basis data.

Pengembalian:

toko pemadam kebakaran

Contoh Firestore dari aplikasi yang disediakan.

inisialisasiFirestore (aplikasi, pengaturan)

Menginisialisasi instance baru Cloud Firestore dengan pengaturan yang disediakan. Hanya dapat dipanggil sebelum fungsi lainnya, termasuk getFirestore() . Jika pengaturan khusus kosong, fungsi ini sama dengan memanggil getFirestore() .

Tanda tangan:

export declare function initializeFirestore(app: FirebaseApp, settings: Settings): Firestore;

Parameter

Parameter Jenis Keterangan
aplikasi Aplikasi Firebase FirebaseApp yang akan dikaitkan dengan instance Firestore .
pengaturan Pengaturan Objek pengaturan untuk mengonfigurasi instance Firestore .

Pengembalian:

toko pemadam kebakaran

Instance Firestore yang baru diinisialisasi.

inisialisasiFirestore(aplikasi, pengaturan, databaseId)

API ini disediakan sebagai pratinjau untuk pengembang dan dapat berubah berdasarkan masukan yang kami terima. Jangan gunakan API ini di lingkungan produksi.

Menginisialisasi instance baru Cloud Firestore dengan pengaturan yang disediakan. Hanya dapat dipanggil sebelum fungsi lainnya, termasuk getFirestore() . Jika pengaturan khusus kosong, fungsi ini sama dengan memanggil getFirestore() .

Tanda tangan:

export declare function initializeFirestore(app: FirebaseApp, settings: Settings, databaseId?: string): Firestore;

Parameter

Parameter Jenis Keterangan
aplikasi Aplikasi Firebase FirebaseApp yang akan dikaitkan dengan instance Firestore .
pengaturan Pengaturan Objek pengaturan untuk mengonfigurasi instance Firestore .
databaseId rangkaian Nama basis data.

Pengembalian:

toko pemadam kebakaran

Instance Firestore yang baru diinisialisasi.

fungsi(penyimpanan api, ...)

koleksi (firestore, jalur, segmen jalur)

Mendapatkan instance CollectionReference yang merujuk ke koleksi di jalur absolut yang ditentukan.

Tanda tangan:

export declare function collection(firestore: Firestore, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;

Parameter

Parameter Jenis Keterangan
toko api toko pemadam kebakaran Referensi ke instance root Firestore .
jalur rangkaian Jalur yang dipisahkan garis miring ke suatu koleksi.
segmen jalur rangkaian[] Segmen jalur tambahan untuk diterapkan relatif terhadap argumen pertama.

Pengembalian:

KoleksiReferensi < Data Dokumen , Data Dokumen >

Contoh CollectionReference .

Pengecualian

Jika jalur akhir memiliki jumlah segmen genap dan tidak menunjuk ke suatu koleksi.

collectionGroup(firestore, collectionId)

Membuat dan mengembalikan instance Query baru yang menyertakan semua dokumen dalam database yang terdapat dalam koleksi atau subkoleksi dengan collectionId yang diberikan .

Tanda tangan:

export declare function collectionGroup(firestore: Firestore, collectionId: string): Query<DocumentData, DocumentData>;

Parameter

Parameter Jenis Keterangan
toko api toko pemadam kebakaran Referensi ke instance root Firestore .
koleksiId rangkaian Mengidentifikasi koleksi yang akan dikueri. Setiap koleksi atau subkoleksi dengan ID ini sebagai segmen terakhir jalurnya akan disertakan. Tidak boleh berisi garis miring.

Pengembalian:

Pertanyaan < Data Dokumen , Data Dokumen >

Query yang dibuat .

connectFirestoreEmulator(firestore, host, port, opsi)

Ubah instance ini untuk berkomunikasi dengan emulator Cloud Firestore.

Tanda tangan:

export declare function connectFirestoreEmulator(firestore: Firestore, host: string, port: number, options?: {
    mockUserToken?: EmulatorMockTokenOptions | string;
}): void;

Parameter

Parameter Jenis Keterangan
toko api toko pemadam kebakaran Instance Firestore yang akan dikonfigurasi agar terhubung ke emulator.
tuan rumah rangkaian host emulator (misal: localhost).
pelabuhan nomor port emulator (misal: 9000).
pilihan { mockUserToken?: EmulatorMockTokenOptions | rangkaian; }

Pengembalian:

ruang kosong

doc(firestore, jalur, segmen jalur)

Mendapatkan instance DocumentReference yang merujuk ke dokumen pada jalur absolut yang ditentukan.

Tanda tangan:

export declare function doc(firestore: Firestore, path: string, ...pathSegments: string[]): DocumentReference<DocumentData, DocumentData>;

Parameter

Parameter Jenis Keterangan
toko api toko pemadam kebakaran Referensi ke instance root Firestore .
jalur rangkaian Jalur yang dipisahkan dipisahkan ke dokumen.
jalur rangkaian[] Segmen jalur tambahan yang akan diterapkan relatif terhadap argumen pertama.

Pengembalian:

Referensi Dokumen < DocumentData , DocumentData >

Instance DocumentReference .

Pengecualian

Jika jalur akhir memiliki jumlah segmen yang ganjil dan tidak menunjuk ke dokumen.

runtransaction (firestore, updateFunction, opsi)

Mengeksekusi updateFunction yang diberikan dan kemudian mencoba melakukan perubahan yang diterapkan dalam transaksi. Jika ada dokumen yang dibaca dalam transaksi telah berubah, Cloud Firestore menarik kembali updateFunction . Jika gagal berkomitmen setelah 5 upaya, transaksi gagal.

Jumlah maksimum penulisan yang diizinkan dalam satu transaksi adalah 500.

Tanda tangan:

export declare function runTransaction<T>(firestore: Firestore, updateFunction: (transaction: Transaction) => Promise<T>, options?: TransactionOptions): Promise<T>;

Parameter

Parameter Jenis Keterangan
toko api toko pemadam kebakaran Referensi ke database Firestore untuk menjalankan transaksi ini terhadap.
perbaruiFungsi (Transaksi: Transaksi ) => Janji <T> Fungsi untuk dieksekusi dalam konteks transaksi.
pilihan Opsi Transaksi Opsi Opsi untuk mengonfigurasi jumlah maksimum upaya untuk berkomitmen.

Pengembalian:

Janji <T>

Jika transaksi selesai dengan sukses atau secara eksplisit dibatalkan ( updateFunction mengembalikan janji yang gagal), janji yang dikembalikan oleh updateFunction dikembalikan ke sini. Jika tidak, jika transaksi gagal, janji yang ditolak dengan kesalahan kegagalan yang sesuai dikembalikan.

hentikan (firestore)

Mengakhiri instance Firestore yang disediakan.

Setelah memanggil terminate() hanya fungsi clearIndexedDbPersistence() yang dapat digunakan. Fungsi lain apa pun akan melempar FirestoreError . Pengakhiran tidak membatalkan penulisan yang tertunda, dan janji apa pun yang menunggu respons dari server tidak akan diselesaikan.

Untuk memulai kembali setelah penghentian, buat instance baru Firestore dengan getFirestore () .

Tanda tangan:

export declare function terminate(firestore: Firestore): Promise<void>;

Parameter

Parameter Jenis Keterangan
toko api toko pemadam kebakaran Contoh Firestore untuk berakhir.

Pengembalian:

Janji<batal>

Promise yang diselesaikan ketika instance telah berhasil diakhiri.

WriteBatch (Firestore)

Membuat batch tulis, digunakan untuk melakukan beberapa tulisan sebagai operasi atom tunggal. Jumlah maksimum penulisan yang diizinkan dalam satu writeBatch adalah 500.

Hasil dari tulisan ini hanya akan tercermin dalam pembacaan dokumen yang terjadi setelah janji yang dikembalikan diselesaikan. Jika klien offline, penulisan gagal. Jika Anda ingin melihat modifikasi lokal atau penulisan buffer sampai klien online, gunakan SDK Firestore lengkap.

Tanda tangan:

export declare function writeBatch(firestore: Firestore): WriteBatch;

Parameter

Parameter Jenis Keterangan
toko api toko pemadam kebakaran

Pengembalian:

TulisBatch

WriteBatch yang dapat digunakan untuk secara atom melaksanakan beberapa tulisan.

fungsi()

menghitung()

Buat objek agregatefield yang dapat digunakan untuk menghitung jumlah dokumen dalam set hasil kueri.

Tanda tangan:

export declare function count(): AggregateField<number>;

Pengembalian:

Bidang Agregat <angka>

deletefield ()

Mengembalikan sentinel untuk digunakan dengan updateDoc () atau setDoc () dengan {merge: true} untuk menandai bidang untuk penghapusan.

Tanda tangan:

export declare function deleteField(): FieldValue;

Pengembalian:

Nilai Bidang

DocumentId ()

Mengembalikan Sentinel FieldPath khusus untuk merujuk ke ID dokumen. Ini dapat digunakan dalam kueri untuk mengurutkan atau memfilter berdasarkan ID dokumen.

Tanda tangan:

export declare function documentId(): FieldPath;

Pengembalian:

Jalur Lapangan

getFirestore ()

Mengembalikan instance firestore default yang ada yang terkait dengan firebaseApp default . Jika tidak ada contoh, inisialisasi instance baru dengan pengaturan default.

Tanda tangan:

export declare function getFirestore(): Firestore;

Pengembalian:

toko pemadam kebakaran

Instance Firestore dari aplikasi yang disediakan.

serverTimestamp ()

Mengembalikan sentinel yang digunakan dengan setDoc () atau diperbarui () untuk memasukkan cap waktu yang dihasilkan server dalam data tertulis.

Tanda tangan:

export declare function serverTimestamp(): FieldValue;

Pengembalian:

Nilai Bidang

fungsi (databaseid, ...)

getFirestore (databaseid)

API ini disediakan sebagai pratinjau untuk pengembang dan dapat berubah berdasarkan umpan balik yang kami terima. Jangan gunakan API ini di lingkungan produksi.

Mengembalikan instance Firestore yang ada yang terkait dengan firebaseApp default . Jika tidak ada contoh, inisialisasi instance baru dengan pengaturan default.

Tanda tangan:

export declare function getFirestore(databaseId: string): Firestore;

Parameter

Parameter Jenis Keterangan
databaseid rangkaian Nama basis data.

Pengembalian:

toko pemadam kebakaran

Instance Firestore dari aplikasi yang disediakan.

fungsi (elemen, ...)

ArrayRemove (Elemen)

Mengembalikan nilai khusus yang dapat digunakan dengan setDoc () atau yang memberitahu server untuk menghapus elemen yang diberikan dari nilai array apa pun yang sudah ada di server. Semua contoh dari setiap elemen yang ditentukan akan dihapus dari array. Jika bidang yang dimodifikasi belum menjadi array, itu akan ditimpa dengan array kosong.

Tanda tangan:

export declare function arrayRemove(...elements: unknown[]): FieldValue;

Parameter

Parameter Jenis Keterangan
elemen tidak dikenal[] Elemen untuk dihapus dari array.

Pengembalian:

Nilai Bidang

Sentinel FieldValue untuk digunakan dalam panggilan ke setDoc() atau updateDoc()

Arrayunion (elemen)

Mengembalikan nilai khusus yang dapat digunakan dengan setDoc () atau updateDoc () yang memberi tahu server untuk menyatukan elemen yang diberikan dengan nilai array apa pun yang sudah ada di server. Setiap elemen yang ditentukan yang belum ada dalam array akan ditambahkan ke akhir. Jika bidang yang dimodifikasi belum menjadi array, itu akan ditimpa dengan array yang berisi elemen yang ditentukan dengan tepat.

Tanda tangan:

export declare function arrayUnion(...elements: unknown[]): FieldValue;

Parameter

Parameter Jenis Keterangan
elemen tidak dikenal[] Elemen -elemen untuk menyatukan ke dalam array.

Pengembalian:

Nilai Bidang

Sentinel FieldValue untuk digunakan dalam panggilan ke setDoc() atau updateDoc() .

fungsi (bidang, ...)

rata -rata (bidang)

Buat objek agregatefield yang dapat digunakan untuk menghitung rata -rata bidang yang ditentukan pada berbagai dokumen dalam set hasil kueri.

Tanda tangan:

export declare function average(field: string | FieldPath): AggregateField<number | null>;

Parameter

Parameter Jenis Keterangan
bidang tali | Jalur Lapangan Menentukan bidang ke rata -rata di seluruh set hasil.

Pengembalian:

Bidang Agregat <angka | batal>

jumlah (bidang)

Buat objek agregatefield yang dapat digunakan untuk menghitung jumlah bidang yang ditentukan pada berbagai dokumen dalam set hasil kueri.

Tanda tangan:

export declare function sum(field: string | FieldPath): AggregateField<number>;

Parameter

Parameter Jenis Keterangan
bidang tali | Jalur Lapangan Menentukan bidang yang akan dijumlahkan di set hasil.

Pengembalian:

Bidang Agregat <angka>

fungsi (fieldpath, ...)

orderby (fieldpath, directionstr)

Membuat QueryOrderByConstraint yang mengurutkan hasil kueri berdasarkan bidang yang ditentukan, secara opsional dalam urutan menurun alih -alih naik.

Tanda tangan:

export declare function orderBy(fieldPath: string | FieldPath, directionStr?: OrderByDirection): QueryOrderByConstraint;

Parameter

Parameter Jenis Keterangan
jalur bidang tali | Jalur Lapangan Bidang untuk diurutkan.
Directionstr OrderByDirection Arah opsional untuk mengurutkan berdasarkan ('ASC' atau 'desc'). Jika tidak ditentukan, pesanan akan naik.

Pengembalian:

QueryOrderByConstraint

QueryOrderByConstraint .

where (fieldpath, opstr, value)

Membuat queryfieldfilterconstraint yang menegakkan bahwa dokumen harus berisi bidang yang ditentukan dan bahwa nilainya harus memenuhi batasan hubungan yang diberikan.

Tanda tangan:

export declare function where(fieldPath: string | FieldPath, opStr: WhereFilterOp, value: unknown): QueryFieldFilterConstraint;

Parameter

Parameter Jenis Keterangan
jalur bidang tali | Jalur Lapangan Jalan untuk membandingkan
Opstr DimanaFilterOp String operasi (misalnya "& lt;", "& lt; =", "==", "& lt;", "& lt; =", "! =").
nilai tidak dikenal Nilai perbandingan

Pengembalian:

Queryfieldfilterconstraint

Queryfieldfilterconstraint yang dibuat .

Fungsi (FieldValues, ...)

endat (nilai lapangan)

Membuat queryendatconstraint yang memodifikasi hasil yang ditetapkan untuk berakhir di bidang yang disediakan relatif terhadap urutan kueri. Urutan nilai lapangan harus sesuai dengan urutan urutan dengan klausul kueri.

Tanda tangan:

export declare function endAt(...fieldValues: unknown[]): QueryEndAtConstraint;

Parameter

Parameter Jenis Keterangan
Nilai bidang tidak dikenal[] Nilai bidang untuk mengakhiri kueri ini di, dalam urutan pesanan kueri oleh.

Pengembalian:

Queryendatconstraint

A QueryendatConstraint untuk diteruskan ke query()

Endbefore (FieldValues)

Membuat queryendatconstraint yang memodifikasi hasil yang ditetapkan untuk berakhir sebelum bidang yang disediakan relatif terhadap urutan kueri. Urutan nilai lapangan harus sesuai dengan urutan urutan dengan klausul kueri.

Tanda tangan:

export declare function endBefore(...fieldValues: unknown[]): QueryEndAtConstraint;

Parameter

Parameter Jenis Keterangan
Nilai bidang tidak dikenal[] Nilai bidang untuk mengakhiri kueri ini sebelumnya, sesuai urutan kueri oleh.

Pengembalian:

Queryendatconstraint

A QueryendatConstraint untuk diteruskan ke query()

StartAfter (FieldValues)

Membuat querystartatconstraint yang memodifikasi hasil yang ditetapkan untuk memulai setelah bidang yang disediakan relatif terhadap urutan kueri. Urutan nilai lapangan harus sesuai dengan urutan urutan dengan klausul kueri.

Tanda tangan:

export declare function startAfter(...fieldValues: unknown[]): QueryStartAtConstraint;

Parameter

Parameter Jenis Keterangan
Nilai bidang tidak dikenal[] Nilai bidang untuk memulai kueri ini setelah, dalam urutan pesanan kueri oleh.

Pengembalian:

Querystartatconstraint

A QuerystartatConstraint untuk diteruskan ke query()

startat (fieldvalues)

Membuat querystartatconstraint yang memodifikasi hasil yang ditetapkan untuk memulai di bidang yang disediakan relatif terhadap urutan kueri. Urutan nilai lapangan harus sesuai dengan urutan urutan dengan klausul kueri.

Tanda tangan:

export declare function startAt(...fieldValues: unknown[]): QueryStartAtConstraint;

Parameter

Parameter Jenis Keterangan
Nilai bidang tidak dikenal[] Nilai bidang untuk memulai kueri ini di, dalam urutan pesanan kueri oleh.

Pengembalian:

Querystartatconstraint

A QuerystartatConstraint untuk diteruskan ke query() .

fungsi (kiri, ...)

agregatefieldequal (kiri, kanan)

Membandingkan dua 'agregatefield `Instances for Equality.

Tanda tangan:

export declare function aggregateFieldEqual(left: AggregateField<unknown>, right: AggregateField<unknown>): boolean;

Parameter

Parameter Jenis Keterangan
kiri Bidang Agregat <tidak diketahui> Bandingkan agregat ini di right .
Kanan Bidang Agregat <tidak diketahui> Bandingkan agregat ini di left .

Pengembalian:

boolean

agregatequerysnapshotequal (kiri, kanan)

Membandingkan dua instance AggregateQuerySnapshot untuk kesetaraan.

Dua instance AggregateQuerySnapshot dianggap "sama" jika mereka memiliki kueri yang mendasari yang membandingkan sama, dan data yang sama.

Tanda tangan:

export declare function aggregateQuerySnapshotEqual<AggregateSpecType extends AggregateSpec, AppModelType, DbModelType extends DocumentData>(left: AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>, right: AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>): boolean;

Parameter

Parameter Jenis Keterangan
kiri Snapshot Kueri Agregat <Agregatespectype, appmodeltype, dbmodeltype> AggregateQuerySnapshot pertama untuk dibandingkan.
Kanan Snapshot Kueri Agregat <Agregatespectype, appmodeltype, dbmodeltype> AggregateQuerySnapshot kedua untuk membandingkan.

Pengembalian:

boolean

true jika objek "sama", sebagaimana didefinisikan di atas, atau false sebaliknya.

QueryEqual (kiri, kanan)

Mengembalikan true jika kueri yang disediakan menunjuk ke koleksi yang sama dan menerapkan kendala yang sama.

Tanda tangan:

export declare function queryEqual<AppModelType, DbModelType extends DocumentData>(left: Query<AppModelType, DbModelType>, right: Query<AppModelType, DbModelType>): boolean;

Parameter

Parameter Jenis Keterangan
kiri Pertanyaan <Appmodeltype, dbmodeltype> Query untuk dibandingkan.
Kanan Pertanyaan <Appmodeltype, dbmodeltype> Query untuk dibandingkan.

Pengembalian:

boolean

Benar jika referensi menunjuk ke lokasi yang sama di database Firestore yang sama.

Refequal (kiri, kanan)

Pengembalian true jika referensi yang disediakan sama.

Tanda tangan:

export declare function refEqual<AppModelType, DbModelType extends DocumentData>(left: DocumentReference<AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType>, right: DocumentReference<AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType>): boolean;

Parameter

Parameter Jenis Keterangan
kiri Referensi Dokumen <Appmodeltype, dbmodeltype> | KoleksiReferensi <Appmodeltype, dbmodeltype> Referensi untuk membandingkan.
Kanan Referensi Dokumen <Appmodeltype, dbmodeltype> | KoleksiReferensi <Appmodeltype, dbmodeltype> Referensi untuk membandingkan.

Pengembalian:

boolean

Benar jika referensi menunjuk ke lokasi yang sama di database Firestore yang sama.

Snapshotequal (kiri, kanan)

Mengembalikan true jika snapshot yang disediakan sama.

Tanda tangan:

export declare function snapshotEqual<AppModelType, DbModelType extends DocumentData>(left: DocumentSnapshot<AppModelType, DbModelType> | QuerySnapshot<AppModelType, DbModelType>, right: DocumentSnapshot<AppModelType, DbModelType> | QuerySnapshot<AppModelType, DbModelType>): boolean;

Parameter

Parameter Jenis Keterangan
kiri Cuplikan Dokumen <Appmodeltype, dbmodeltype> | Cuplikan Kueri <Appmodeltype, dbmodeltype> Snapshot untuk dibandingkan.
Kanan Cuplikan Dokumen <Appmodeltype, dbmodeltype> | Cuplikan Kueri <Appmodeltype, dbmodeltype> Snapshot untuk dibandingkan.

Pengembalian:

boolean

Benar jika snapshotnya sama.

fungsi (batas, ...)

batas (batas)

Membuat QueryLimitConstraint yang hanya mengembalikan dokumen yang cocok pertama.

Tanda tangan:

export declare function limit(limit: number): QueryLimitConstraint;

Parameter

Parameter Jenis Keterangan
membatasi nomor Jumlah maksimum item yang akan dikembalikan.

Pengembalian:

QueryLimitConstraint

QueryLimitConstraint yang dibuat .

limittolast (batas)

Membuat QueryLimitConstraint yang hanya mengembalikan dokumen yang cocok terakhir.

Anda harus menentukan setidaknya satu Klausul orderBy untuk kueri limitToLast , jika tidak, pengecualian akan dilemparkan selama eksekusi.

Tanda tangan:

export declare function limitToLast(limit: number): QueryLimitConstraint;

Parameter

Parameter Jenis Keterangan
membatasi nomor Jumlah maksimum item yang akan dikembalikan.

Pengembalian:

QueryLimitConstraint

QueryLimitConstraint yang dibuat .

fungsi (Loglevel, ...)

SetLogLevel (Loglevel)

Menetapkan verbositas log cloud firestore (debug, kesalahan, atau diam).

Tanda tangan:

export declare function setLogLevel(logLevel: LogLevel): void;

Parameter

Parameter Jenis Keterangan
tingkat log Tingkat Log Verbositas yang Anda atur untuk penebangan aktivitas dan kesalahan. Dapat menjadi nilai berikut:
  • debug untuk tingkat logging yang paling verbose, terutama untuk debugging.
  • error untuk mencatat kesalahan saja.
  • silent to turn off logging.

Pengembalian:

ruang kosong

fungsi (n, ...)

kenaikan(n)

Mengembalikan nilai khusus yang dapat digunakan dengan setDoc () atau updateDoc () yang memberitahu server untuk menambah nilai bidang saat ini dengan nilai yang diberikan.

Jika baik operan atau nilai bidang saat ini menggunakan presisi titik mengambang, semua aritmatika mengikuti semantik IEEE 754. Jika kedua nilai tersebut adalah bilangan bulat, nilai di luar rentang bilangan aman Javascript ( Number.MIN_SAFE_INTEGER ke Number.MAX_SAFE_INTEGER ) juga mengalami kehilangan presisi. Selain itu, setelah diproses oleh firestore backend, semua operasi integer dibatasi antara -2^63 dan 2^63-1.

Jika nilai bidang saat ini bukan dari number tipe , atau jika bidang belum ada, transformasi menetapkan bidang ke nilai yang diberikan.

Tanda tangan:

export declare function increment(n: number): FieldValue;

Parameter

Parameter Jenis Keterangan
N nomor Nilai untuk bertambah.

Pengembalian:

Nilai Bidang

Sentinel FieldValue untuk digunakan dalam panggilan ke setDoc() atau updateDoc()

fungsi (kueri, ...)

getAgregat(kueri, spesifikasi agregat)

Menghitung agregasi yang ditentukan atas dokumen dalam set hasil kueri yang diberikan tanpa benar -benar mengunduh dokumen.

Menggunakan fungsi ini untuk melakukan agregasi adalah efisien karena hanya nilai agregasi akhir, bukan data dokumen, diunduh. Fungsi ini dapat melakukan agregasi dokumen dalam kasus -kasus di mana hasil yang ditetapkan sangat besar untuk diunduh sepenuhnya (ribuan dokumen).

Tanda tangan:

export declare function getAggregate<AggregateSpecType extends AggregateSpec, AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, aggregateSpec: AggregateSpecType): Promise<AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>>;

Parameter

Parameter Jenis Keterangan
pertanyaan Pertanyaan <Appmodeltype, dbmodeltype> Kueri yang ditetapkan hasilnya dikumpulkan.
agregatespec Agregatespectype Objek AggregateSpec yang menentukan agregat untuk melakukan selama set hasil. AgregatSpec menentukan alias untuk setiap agregat, yang dapat digunakan untuk mengambil hasil agregat.

Pengembalian:

Janji < agregateQuerySnapshot <Agregatespectype, appmodeltype, dbmodeltype >>

Contoh

const aggregateSnapshot = await getAggregate(query, {
  countOfDocs: count(),
  totalHours: sum('hours'),
  averageScore: average('score')
});

const countOfDocs: number = aggregateSnapshot.data().countOfDocs;
const totalHours: number = aggregateSnapshot.data().totalHours;
const averageScore: number | null = aggregateSnapshot.data().averageScore;

getCount (kueri)

Menghitung jumlah dokumen dalam set hasil dari kueri yang diberikan tanpa benar -benar mengunduh dokumen.

Menggunakan fungsi ini untuk menghitung dokumen itu efisien karena hanya penghitungan akhir, bukan data dokumen, yang diunduh. Fungsi ini dapat menghitung dokumen dalam kasus -kasus di mana set hasil sangat besar untuk diunduh sepenuhnya (ribuan dokumen).

Tanda tangan:

export declare function getCount<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>): Promise<AggregateQuerySnapshot<{
    count: AggregateField<number>;
}, AppModelType, DbModelType>>;

Parameter

Parameter Jenis Keterangan
pertanyaan Pertanyaan <Appmodeltype, dbmodeltype> Kueri yang hasilnya set hasil dihitung.

Pengembalian:

Janji < agregateQuerySnapshot <{count: agregatefield <number>; }, Appmodeltype, dbmodeltype >>

Janji yang akan diselesaikan dengan penghitungan; Hitungan dapat diambil dari snapshot.data().count , di mana snapshot adalah AggregateQuerySnapshot yang diselesaikan janji yang dikembalikan.

getDocs (kueri)

Menjalankan kueri dan mengembalikan hasilnya sebagai querysnapshot .

Semua pertanyaan dieksekusi langsung oleh server, bahkan jika kueri sebelumnya dieksekusi. Modifikasi terbaru hanya tercermin dalam hasil yang diambil jika mereka telah diterapkan oleh backend. Jika klien offline, operasi gagal. Untuk melihat hasil yang sebelumnya di -cache dan modifikasi lokal, gunakan SDK Firestore lengkap.

Tanda tangan:

export declare function getDocs<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>): Promise<QuerySnapshot<AppModelType, DbModelType>>;

Parameter

Parameter Jenis Keterangan
pertanyaan Pertanyaan <Appmodeltype, dbmodeltype> Query untuk dieksekusi.

Pengembalian:

Janji < querysnapshot <Appmodeltype, dbmodeltype >>

Janji yang akan diselesaikan dengan hasil kueri.

kueri (kueri, compositefilter, queryconstraints)

Membuat contoh kueri baru yang tidak dapat diubah yang diperluas juga untuk memasukkan kendala kueri tambahan.

Tanda tangan:

export declare function query<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, compositeFilter: QueryCompositeFilterConstraint, ...queryConstraints: QueryNonFilterConstraint[]): Query<AppModelType, DbModelType>;

Parameter

Parameter Jenis Keterangan
pertanyaan Pertanyaan <Appmodeltype, dbmodeltype> Instance kueri untuk digunakan sebagai basis untuk kendala baru.
compositefilter Batasan QueryCompositeFilter QueryCompositEfilterConstraint untuk diterapkan. Buat QueryCompositEfilterConstraint menggunakan dan () atau atau () .
queryconstraints Querynonfilterconstraint [] Querynonfilterconstraint tambahan s untuk berlaku (misalnya orderby () , membatasi() ).

Pengembalian:

Pertanyaan <Appmodeltype, dbmodeltype>

Pengecualian

Jika salah satu dari kendala kueri yang disediakan tidak dapat dikombinasikan dengan kendala yang ada atau baru.

kueri (kueri, queryconstraints)

Membuat contoh kueri baru yang tidak dapat diubah yang diperluas juga untuk memasukkan kendala kueri tambahan.

Tanda tangan:

export declare function query<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, ...queryConstraints: QueryConstraint[]): Query<AppModelType, DbModelType>;

Parameter

Parameter Jenis Keterangan
pertanyaan Pertanyaan <Appmodeltype, dbmodeltype> Instance kueri untuk digunakan sebagai basis untuk kendala baru.
queryconstraints Queryconstraint [] Daftar QueryConstraint s untuk diterapkan.

Pengembalian:

Pertanyaan <Appmodeltype, dbmodeltype>

Pengecualian

Jika salah satu dari kendala kueri yang disediakan tidak dapat dikombinasikan dengan kendala yang ada atau baru.

fungsi (queryconstraints, ...)

dan (queryconstraints)

Membuat QueryCompositEfilterConstraint baru yang merupakan konjungsi dari kendala filter yang diberikan. Filter konjungsi mencakup dokumen jika memenuhi semua filter yang diberikan.

Tanda tangan:

export declare function and(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;

Parameter

Parameter Jenis Keterangan
queryconstraints Batasan Filter Kueri [] Opsional. Daftar QueryFilterConstraint s untuk melakukan konjungsi untuk. Ini harus dibuat dengan panggilan ke mana () , atau() , atau dan() .

Pengembalian:

Batasan QueryCompositeFilter

QueryCompositEfilterConstraint yang baru dibuat .

atau (queryconstraints)

Membuat QueryCompositEfilterConstraint baru yang merupakan disjungsi dari kendala filter yang diberikan. Filter disjungsi mencakup dokumen jika memenuhi salah satu filter yang diberikan.

Tanda tangan:

export declare function or(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;

Parameter

Parameter Jenis Keterangan
queryconstraints Batasan Filter Kueri [] Opsional. Daftar QueryFilterConstraint s untuk melakukan disjungsi untuk. Ini harus dibuat dengan panggilan ke mana () , atau() , atau dan() .

Pengembalian:

Batasan QueryCompositeFilter

QueryCompositEfilterConstraint yang baru dibuat .

fungsi (referensi, ...)

addDoc (referensi, data)

Tambahkan dokumen baru ke CollectionReference yang ditentukan dengan data yang diberikan, menetapkan ID dokumen secara otomatis.

Hasil penulisan ini hanya akan tercermin dalam pembacaan dokumen yang terjadi setelah janji yang dikembalikan diselesaikan. Jika klien offline, penulisan gagal. Jika Anda ingin melihat modifikasi lokal atau penulisan buffer sampai klien online, gunakan SDK Firestore lengkap.

Tanda tangan:

export declare function addDoc<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, data: WithFieldValue<AppModelType>): Promise<DocumentReference<AppModelType, DbModelType>>;

Parameter

Parameter Jenis Keterangan
referensi KoleksiReferensi <Appmodeltype, dbmodeltype> Referensi ke koleksi untuk menambahkan dokumen ini ke.
data WithfieldValue <PespModeltype> Objek yang berisi data untuk dokumen baru.

Pengembalian:

Janji < DocumentReference <Appmodeltype, dbmodeltype >>

Promise yang diselesaikan dengan DocumentReference yang menunjuk ke dokumen yang baru dibuat setelah ditulis ke backend.

Pengecualian

Kesalahan - Jika input yang disediakan bukan dokumen Firestore yang valid.

Koleksi (Referensi, Path, Pathsegments)

Mendapat instance CollectionReference yang mengacu pada subkollection reference di jalur relatif yang ditentukan.

Tanda tangan:

export declare function collection<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;

Parameter

Parameter Jenis Keterangan
referensi KoleksiReferensi <Appmodeltype, dbmodeltype> Referensi ke koleksi.
jalur rangkaian Jalur yang dipisahkan dipisahkan ke koleksi.
jalur rangkaian[] Segmen jalur tambahan untuk diterapkan relatif terhadap argumen pertama.

Pengembalian:

KoleksiReferensi < DocumentData , DocumentData >

Contoh CollectionReference .

Pengecualian

Jika jalur akhir memiliki jumlah segmen yang genap dan tidak menunjuk ke koleksi.

Koleksi (Referensi, Path, Pathsegments)

Mendapat instance CollectionReference yang mengacu pada subkollection reference di jalur relatif yang ditentukan.

Tanda tangan:

export declare function collection<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;

Parameter

Parameter Jenis Keterangan
referensi Referensi Dokumen <Appmodeltype, dbmodeltype> Referensi ke dokumen Firestore.
jalur rangkaian Jalur yang dipisahkan dipisahkan ke koleksi.
jalur rangkaian[] Segmen jalur tambahan yang akan diterapkan relatif terhadap argumen pertama.

Pengembalian:

KoleksiReferensi < DocumentData , DocumentData >

Contoh CollectionReference .

Pengecualian

Jika jalur akhir memiliki jumlah segmen yang genap dan tidak menunjuk ke koleksi.

Deletedoc (Referensi)

Menghapus dokumen yang dirujuk oleh DocumentReference yang ditentukan .

Penghapusan hanya akan tercermin dalam pembacaan dokumen yang terjadi setelah janji yang dikembalikan diselesaikan. Jika klien offline, penghapusan gagal. Jika Anda ingin melihat modifikasi lokal atau penulisan buffer sampai klien online, gunakan SDK Firestore lengkap.

Tanda tangan:

export declare function deleteDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<void>;

Parameter

Parameter Jenis Keterangan
referensi Referensi Dokumen <Appmodeltype, dbmodeltype> Referensi ke dokumen untuk dihapus.

Pengembalian:

Janji<batal>

Promise diselesaikan begitu dokumen telah berhasil dihapus dari backend.

DOC (Referensi, Path, Pathsegments)

Mendapat instance DocumentReference yang mengacu pada dokumen dalam reference di jalur relatif yang ditentukan. Jika tidak ada jalur yang ditentukan, ID unik yang dihasilkan secara otomatis akan digunakan untuk DocumentReference yang dikembalikan .

Tanda tangan:

export declare function doc<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, path?: string, ...pathSegments: string[]): DocumentReference<AppModelType, DbModelType>;

Parameter

Parameter Jenis Keterangan
referensi KoleksiReferensi <Appmodeltype, dbmodeltype> Referensi ke koleksi.
jalur rangkaian Jalur yang dipisahkan dipisahkan ke dokumen. Harus dihilangkan untuk menggunakan ID yang dibuat otomatis.
jalur rangkaian[] Segmen jalur tambahan yang akan diterapkan relatif terhadap argumen pertama.

Pengembalian:

Referensi Dokumen <Appmodeltype, dbmodeltype>

Instance DocumentReference .

Pengecualian

Jika jalur akhir memiliki jumlah segmen yang ganjil dan tidak menunjuk ke dokumen.

DOC (Referensi, Path, Pathsegments)

Mendapat instance DocumentReference yang mengacu pada dokumen dalam reference di jalur relatif yang ditentukan.

Tanda tangan:

export declare function doc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): DocumentReference<DocumentData, DocumentData>;

Parameter

Parameter Jenis Keterangan
referensi Referensi Dokumen <Appmodeltype, dbmodeltype> Referensi ke dokumen Firestore.
jalur rangkaian Jalur yang dipisahkan dipisahkan ke dokumen.
jalur rangkaian[] Segmen jalur tambahan yang akan diterapkan relatif terhadap argumen pertama.

Pengembalian:

Referensi Dokumen < DocumentData , DocumentData >

Instance DocumentReference .

Pengecualian

Jika jalur akhir memiliki jumlah segmen yang ganjil dan tidak menunjuk ke dokumen.

getDoc (referensi)

Membaca dokumen yang dirujuk oleh referensi dokumen yang ditentukan.

Semua dokumen secara langsung diambil dari server, bahkan jika dokumen itu sebelumnya dibaca atau dimodifikasi. Modifikasi terbaru hanya tercermin dalam DocumentSnapshot yang diambil jika mereka sudah diterapkan oleh backend. Jika klien offline, bacaan gagal. Jika Anda suka menggunakan caching atau melihat modifikasi lokal, silakan gunakan Firestore SDK lengkap.

Tanda tangan:

export declare function getDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<DocumentSnapshot<AppModelType, DbModelType>>;

Parameter

Parameter Jenis Keterangan
referensi Referensi Dokumen <Appmodeltype, dbmodeltype> Referensi dokumen untuk diambil.

Pengembalian:

Janji < DocumentSnapshot <Appmodeltype, dbmodeltype >>

Janji diselesaikan dengan DocumentSnapshot yang berisi konten dokumen saat ini.

setDoc (referensi, data)

Menulis ke dokumen yang disebutkan oleh DocumentReference yang ditentukan . Jika dokumen belum ada, itu akan dibuat.

Hasil penulisan ini hanya akan tercermin dalam pembacaan dokumen yang terjadi setelah janji yang dikembalikan diselesaikan. Jika klien offline, penulisan gagal. Jika Anda ingin melihat modifikasi lokal atau penulisan buffer sampai klien online, gunakan SDK Firestore lengkap.

Tanda tangan:

export declare function setDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: WithFieldValue<AppModelType>): Promise<void>;

Parameter

Parameter Jenis Keterangan
referensi Referensi Dokumen <Appmodeltype, dbmodeltype> Referensi ke dokumen untuk ditulis.
data WithfieldValue <PespModeltype> Peta bidang dan nilai untuk dokumen.

Pengembalian:

Janji<batal>

Promise diselesaikan begitu data telah berhasil ditulis ke backend.

Pengecualian

Kesalahan - Jika input yang disediakan bukan dokumen Firestore yang valid.

setDoc (referensi, data, opsi)

Menulis ke dokumen yang disebutkan oleh DocumentReference yang ditentukan . Jika dokumen belum ada, itu akan dibuat. Jika Anda memberikan merge atau mergeFields , data yang disediakan dapat digabungkan menjadi dokumen yang ada.

Hasil penulisan ini hanya akan tercermin dalam pembacaan dokumen yang terjadi setelah janji yang dikembalikan diselesaikan. Jika klien offline, penulisan gagal. Jika Anda ingin melihat modifikasi lokal atau penulisan buffer sampai klien online, gunakan SDK Firestore lengkap.

Tanda tangan:

export declare function setDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: PartialWithFieldValue<AppModelType>, options: SetOptions): Promise<void>;

Parameter

Parameter Jenis Keterangan
referensi Referensi Dokumen <Appmodeltype, dbmodeltype> Referensi ke dokumen untuk ditulis.
data ParsialwithfieldValue <PespModeltype> Peta bidang dan nilai untuk dokumen.
pilihan Set Opsi Objek untuk mengonfigurasi perilaku yang ditetapkan.

Pengembalian:

Janji<batal>

Promise diselesaikan begitu data telah berhasil ditulis ke backend.

Pengecualian

Kesalahan - Jika input yang disediakan bukan dokumen Firestore yang valid.

Diperbarui (referensi, data)

Pembaruan bidang dalam dokumen yang dirujuk oleh DocumentReference yang ditentukan . Pembaruan akan gagal jika diterapkan pada dokumen yang tidak ada.

Hasil pembaruan ini hanya akan tercermin dalam pembacaan dokumen yang terjadi setelah janji yang dikembalikan diselesaikan. Jika klien offline, pembaruan gagal. Jika Anda ingin melihat modifikasi lokal atau penulisan buffer sampai klien online, gunakan SDK Firestore lengkap.

Tanda tangan:

export declare function updateDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: UpdateData<DbModelType>): Promise<void>;

Parameter

Parameter Jenis Keterangan
referensi Referensi Dokumen <Appmodeltype, dbmodeltype> Referensi ke dokumen untuk diperbarui.
data Perbaharui data <dbModeltype> Objek yang berisi bidang dan nilai untuk memperbarui dokumen. Bidang dapat berisi titik -titik untuk merujuk bidang bersarang di dalam dokumen.

Pengembalian:

Janji<batal>

Promise diselesaikan begitu data telah berhasil ditulis ke backend.

Pengecualian

Kesalahan - Jika input yang disediakan bukan data Firestore yang valid.

Diperbarui (referensi, bidang, nilai, morefields danvalues)

Bidang pembaruan dalam dokumen yang dirujuk oleh DocumentReference yang ditentukan, pembaruan akan gagal jika diterapkan pada dokumen yang tidak ada.

Bidang bersarang dapat diperbarui dengan menyediakan string jalur lapangan yang dipisahkan dot atau dengan menyediakan objek FieldPath .

Hasil pembaruan ini hanya akan tercermin dalam pembacaan dokumen yang terjadi setelah janji yang dikembalikan diselesaikan. Jika klien offline, pembaruan gagal. Jika Anda ingin melihat modifikasi lokal atau penulisan buffer sampai klien online, gunakan SDK Firestore lengkap.

Tanda tangan:

export declare function updateDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, field: string | FieldPath, value: unknown, ...moreFieldsAndValues: unknown[]): Promise<void>;

Parameter

Parameter Jenis Keterangan
referensi Referensi Dokumen <Appmodeltype, dbmodeltype> Referensi ke dokumen untuk diperbarui.
bidang tali | Jalur Lapangan Bidang pertama yang diperbarui.
nilai tidak dikenal Nilai pertama.
Morefields dan nilai tidak dikenal[] Pasangan nilai kunci tambahan.

Pengembalian:

Janji<batal>

Promise diselesaikan begitu data telah berhasil ditulis ke backend.

Pengecualian

Kesalahan - Jika input yang disediakan bukan data Firestore yang valid.

fungsi (snapshot, ...)

endat (snapshot)

Membuat QueryEndatConstraint yang memodifikasi hasil yang ditetapkan untuk berakhir pada dokumen yang disediakan (inklusif). Posisi akhir relatif terhadap urutan kueri. Dokumen tersebut harus berisi semua bidang yang disediakan dalam pemesanan kueri.

Tanda tangan:

export declare function endAt<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryEndAtConstraint;

Parameter

Parameter Jenis Keterangan
foto Cuplikan Dokumen <Appmodeltype, dbmodeltype> Snapshot dari dokumen untuk berakhir di.

Pengembalian:

Queryendatconstraint

A QueryendatConstraint untuk diteruskan ke query()

endbefore (snapshot)

Membuat QueryEndatConstraint yang memodifikasi hasil yang ditetapkan untuk berakhir sebelum dokumen yang disediakan (eksklusif). Posisi akhir relatif terhadap urutan kueri. Dokumen tersebut harus berisi semua bidang yang disediakan dalam pemesanan kueri.

Tanda tangan:

export declare function endBefore<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryEndAtConstraint;

Parameter

Parameter Jenis Keterangan
foto Cuplikan Dokumen <Appmodeltype, dbmodeltype> Snapshot dari dokumen untuk berakhir sebelumnya.

Pengembalian:

Queryendatconstraint

A QueryendatConstraint untuk diteruskan ke query()

startafter (snapshot)

Membuat querystartatconstraint yang memodifikasi hasil yang ditetapkan untuk memulai setelah dokumen yang disediakan (eksklusif). Posisi awal relatif terhadap urutan kueri. Dokumen tersebut harus berisi semua bidang yang disediakan dalam pemesanan kueri.

Tanda tangan:

export declare function startAfter<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryStartAtConstraint;

Parameter

Parameter Jenis Keterangan
foto Cuplikan Dokumen <Appmodeltype, dbmodeltype> Snapshot dari dokumen yang akan dimulai setelahnya.

Pengembalian:

Querystartatconstraint

A QuerystartatConstraint untuk diteruskan ke query()

startat (snapshot)

Membuat querystartatconstraint yang memodifikasi hasil yang ditetapkan untuk memulai pada dokumen yang disediakan (inklusif). Posisi awal relatif terhadap urutan kueri. Dokumen tersebut harus berisi semua bidang yang disediakan dalam orderBy kueri ini.

Tanda tangan:

export declare function startAt<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryStartAtConstraint;

Parameter

Parameter Jenis Keterangan
foto Cuplikan Dokumen <Appmodeltype, dbmodeltype> Snapshot dari dokumen untuk memulai.

Pengembalian:

Querystartatconstraint

A QuerystartatConstraint untuk diteruskan ke query() .

AddPrefixtokeys

Mengembalikan peta baru di mana setiap kunci diawali dengan kunci luar ditambahkan ke titik.

Tanda tangan:

export declare type AddPrefixToKeys<Prefix extends string, T extends Record<string, unknown>> = {
    [K in keyof T & string as `${Prefix}.${K}`]+?: string extends K ? any : T[K];
};

Tipe Bidang Agregat

Persatuan semua jenis AggregateField yang didukung oleh Firestore.

Tanda tangan:

export declare type AggregateFieldType = ReturnType<typeof sum> | ReturnType<typeof average> | ReturnType<typeof count>;

Data Spesifikasi Agregat

Tipe yang kuncinya diambil dari AggregateSpec , dan yang nilainya merupakan hasil dari agregasi yang dilakukan oleh AggregateField yang sesuai dari input AggregateSpec .

Tanda tangan:

export declare type AggregateSpecData<T extends AggregateSpec> = {
    [P in keyof T]: T[P] extends AggregateField<infer U> ? U : never;
};

Agregatetype

Jenis Union yang mewakili jenis agregat yang akan dilakukan.

Tanda tangan:

export declare type AggregateType = 'count' | 'avg' | 'sum';

ChildupdateFields

Pembantu untuk menghitung bidang bersarang untuk tipe T1 yang diberikan. Ini diperlukan untuk mendistribusikan jenis serikat seperti undefined | {...} (terjadi untuk props opsional) atau {a: A} | {b: B} .

Dalam kasus penggunaan ini, V digunakan untuk mendistribusikan jenis T[K] pada Record , karena T[K] dievaluasi sebagai ekspresi dan tidak didistribusikan.

Lihat https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types

Tanda tangan:

export declare type ChildUpdateFields<K extends string, V> = V extends Record<string, unknown> ? AddPrefixToKeys<K, UpdateData<V>> : never;

FirestoreErrorCode

Set kode status firestore. Kode -kode tersebut sama pada yang diekspos oleh GRPC di sini: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md

Nilai yang mungkin: - 'dibatalkan': Operasi dibatalkan (biasanya oleh penelepon). - 'Tidak Diketahui': Kesalahan yang tidak diketahui atau kesalahan dari domain kesalahan yang berbeda. - 'Invalid-Argument': Klien menentukan argumen yang tidak valid. Perhatikan bahwa ini berbeda dari 'precondition gagal'. 'Argumen yang tidak valid' menunjukkan argumen yang bermasalah terlepas dari keadaan sistem (misalnya nama lapangan yang tidak valid). - 'Tenggat Batas waktu': Batas waktu kedaluwarsa sebelum operasi bisa selesai. Untuk operasi yang mengubah keadaan sistem, kesalahan ini dapat dikembalikan bahkan jika operasi telah berhasil selesai. Misalnya, respons yang berhasil dari server bisa saja ditunda cukup lama untuk tenggat waktu berakhir. - 'Tidak ditemukan': Beberapa dokumen yang diminta tidak ditemukan. - 'Sudah-exist': Beberapa dokumen yang kami coba buat sudah ada. - 'Izin-Denied': Penelepon tidak memiliki izin untuk menjalankan operasi yang ditentukan. -'Sumber Daya Lengkap': Beberapa sumber daya telah habis, mungkin kuota per pengguna, atau mungkin seluruh sistem file tidak ada di luar angkasa. - 'Gagal-precondition': Operasi ditolak karena sistem tidak dalam keadaan yang diperlukan untuk eksekusi operasi. - 'dibatalkan': Operasi dibatalkan, biasanya karena masalah konkurensi seperti transaksi dibatalkan, dll.- 'out-of-range': Operasi dicoba melewati kisaran yang valid. - 'tidak diimplementasikan': Operasi tidak diimplementasikan atau tidak didukung/diaktifkan. - 'Internal': Kesalahan internal. Berarti beberapa invarian yang diharapkan oleh sistem yang mendasarinya telah rusak. Jika Anda melihat salah satu dari kesalahan ini, ada sesuatu yang sangat rusak. - 'Tidak tersedia': Layanan saat ini tidak tersedia. Ini kemungkinan besar merupakan kondisi sementara dan dapat diperbaiki dengan mencoba lagi dengan backoff. - 'Kehilangan data': Kehilangan data atau korupsi yang tidak dapat dipulihkan. - 'tidak autentikasi': Permintaan tidak memiliki kredensial otentikasi yang valid untuk operasi.

Tanda tangan:

export declare type FirestoreErrorCode = 'cancelled' | 'unknown' | 'invalid-argument' | 'deadline-exceeded' | 'not-found' | 'already-exists' | 'permission-denied' | 'resource-exhausted' | 'failed-precondition' | 'aborted' | 'out-of-range' | 'unimplemented' | 'internal' | 'unavailable' | 'data-loss' | 'unauthenticated';

NestedupdateFields

Untuk setiap bidang (misalnya 'bar'), temukan semua kunci bersarang (misalnya { 'bar.baz': t1, 'bar.qux': t2 } ). Memotong mereka bersama untuk membuat peta tunggal yang berisi semua kunci yang mungkin ditandai sebagai opsional

Tanda tangan:

export declare type NestedUpdateFields<T extends Record<string, unknown>> = UnionToIntersection<{
    [K in keyof T & string]: ChildUpdateFields<K, T[K]>;
}[keyof T & string]>;

OrderByDirection

Arah klausa orderby () ditentukan sebagai 'desc' atau 'ASC' (turun atau naik).

Tanda tangan:

export declare type OrderByDirection = 'desc' | 'asc';

ParsialwithfieldValue

Mirip dengan Partial<T> TypeScript , tetapi memungkinkan bidang bersarang dihilangkan dan nilai -nilai lapangan diteruskan sebagai nilai properti.

Tanda tangan:

export declare type PartialWithFieldValue<T> = Partial<T> | (T extends Primitive ? T : T extends {} ? {
    [K in keyof T]?: PartialWithFieldValue<T[K]> | FieldValue;
} : never);

Primitif

Tipe primitif.

Tanda tangan:

export declare type Primitive = string | number | boolean | undefined | null;

QueryConstraintType

Menjelaskan berbagai kendala kueri yang tersedia di SDK ini.

Tanda tangan:

export declare type QueryConstraintType = 'where' | 'orderBy' | 'limit' | 'limitToLast' | 'startAt' | 'startAfter' | 'endAt' | 'endBefore';

Batasan Filter Kueri

QueryFilterConstraint adalah tipe serikat penolong yang mewakili QueryFieldFilterConstraint dan QueryCompositEfilterConstraint .

Tanda tangan:

export declare type QueryFilterConstraint = QueryFieldFilterConstraint | QueryCompositeFilterConstraint;

Querynonfilterconstraint

QueryNonFilterConstraint adalah tipe serikat penolong yang mewakili queryconstraints yang digunakan untuk mempersempit atau memesan set dokumen, tetapi itu tidak secara eksplisit menyaring di bidang dokumen. QueryNonFilterConstraint S dibuat dengan memohon pesanan () , dimulai dari() , startafter () , endbefore () , endat () , limit () atau limittolast () dan kemudian dapat diteruskan ke kueri () untuk membuat instance kueri baru yang juga berisi QueryConstraint .

Tanda tangan:

export declare type QueryNonFilterConstraint = QueryOrderByConstraint | QueryLimitConstraint | QueryStartAtConstraint | QueryEndAtConstraint;

Set Opsi

Objek opsi yang mengonfigurasi perilaku setDoc () , dan menelepon. Panggilan ini dapat dikonfigurasi untuk melakukan gabungan granular alih -alih menimpa dokumen target secara keseluruhan dengan memberikan SetOptions dengan merge: true .

Tanda tangan:

export declare type SetOptions = {
    readonly merge?: boolean;
} | {
    readonly mergeFields?: Array<string | FieldPath>;
};

UnionTointersection

Diberikan tipe Union U = T1 | T2 | ... , mengembalikan tipe yang berpotongan (T1 & T2 & ...) .

Menggunakan jenis kondisional distributif dan inferensi dari tipe bersyarat. Ini berfungsi karena banyak kandidat untuk variabel tipe yang sama dalam posisi contra-varian menyebabkan jenis persimpangan disimpulkan. https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-inference-in-conditional-types https://stackoverflow.com/questions/50374908/transform-union-type-type-type-type-typersection -jenis

Tanda tangan:

export declare type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;

Perbaharui data

Perbarui data (untuk digunakan dengan updateDoc () ) Itu terdiri dari jalur lapangan (misalnya 'foo' atau 'foo.baz') dipetakan ke nilai. Bidang yang berisi titik -titik referensi bidang bersarang di dalam dokumen. FieldValues ​​dapat diteruskan sebagai nilai properti.

Tanda tangan:

export declare type UpdateData<T> = T extends Primitive ? T : T extends {} ? {
    [K in keyof T]?: UpdateData<T[K]> | FieldValue;
} & NestedUpdateFields<T> : Partial<T>;

DimanaFilterOp

Kondisi filter dalam klausa di mana () ditentukan menggunakan string '& lt;', '& lt; =', '==', '! =', '& Gt; =', '& gt;', 'array-contains' , 'in', 'array-contains-any', dan 'not-in'.

Tanda tangan:

export declare type WhereFilterOp = '<' | '<=' | '==' | '!=' | '>=' | '>' | 'array-contains' | 'in' | 'array-contains-any' | 'not-in';

WithfieldValue

Memungkinkan nilai -nilai lapangan diteruskan sebagai nilai properti sambil menjaga keamanan jenis.

Tanda tangan:

export declare type WithFieldValue<T> = T | (T extends Primitive ? T : T extends {} ? {
    [K in keyof T]: WithFieldValue<T[K]> | FieldValue;
} : never);