Bagaimana untuk Menambah Klausa Di Mana Bersyarat pada Pertanyaan Firestore untuk Penapisan Dinamik?

Linda Hamilton
Lepaskan: 2024-10-22 13:49:02
asal
717 orang telah melayarinya

How to Add Conditional Where Clauses to Firestore Queries for Dynamic Filtering?

Fasal Di Mana Bersyarat dalam Firestore

Dalam Firestore, adalah mungkin untuk menggunakan klausa bersyarat di mana untuk menapis hasil pertanyaan berdasarkan berbilang kriteria. Sebagai contoh, anda mungkin mempunyai penapis dinamik untuk senarai buku, membolehkan anda menentukan warna, pengarang dan kategori tertentu.

Menyoal dengan Pelbagai Keadaan Di Mana

Untuk menambah klausa di mana bersyarat, anda boleh menggunakan pendekatan berikut:

var query = firebase.firestore().collection("book");
if (colorFilter) {
  query = query.where("color", "==", colorFilter);
}
if (categoryFilter) {
  query = query.where("category", "==", categoryFilter);
}
if (authorFilter) {
  query = query.where("author", "==", authorFilter);
}
query.orderBy("date").get().then(...)
Salin selepas log masuk

Operasi Pertanyaan Rangkaian

Dalam contoh di atas, kami mencipta pembolehubah bernama pertanyaan untuk diwakili rujukan koleksi. Kemudian, kami menggunakan pernyataan bersyarat untuk menyemak kehadiran kriteria penapis (warna, kategori dan pengarang). Jika terdapat sebarang penapis, kami menambah klausa tempat yang sepadan pada pertanyaan.

Pengambilan utama ialah mengingati bahawa operasi pertanyaan dalam Firestore tidak boleh diubah, yang bermaksud ia mengembalikan objek Pertanyaan baharu. Oleh itu, anda perlu memperuntukkan pertanyaan yang diubah suai kembali kepada pembolehubah (pertanyaan) yang sama untuk mengekalkan rantaian operasi.

Dengan mengikuti pendekatan ini, anda boleh menambah berbilang klausa di mana pada pertanyaan Firestore anda secara bersyarat, memberikan fleksibiliti dalam menapis data anda berdasarkan kriteria dinamik.

Atas ialah kandungan terperinci Bagaimana untuk Menambah Klausa Di Mana Bersyarat pada Pertanyaan Firestore untuk Penapisan Dinamik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!