Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Menambah Klausa Di Mana Bersyarat pada Pertanyaan Firestore untuk Penapisan Dinamik?

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

Linda Hamilton
Linda Hamiltonasal
2024-10-22 13:49:02718semak imbas

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

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!

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