Bagaimana untuk Melaksanakan Pengisihan Case-Insensitive dalam Cloud Firestore?

Patricia Arquette
Lepaskan: 2024-10-22 08:52:30
asal
329 orang telah melayarinya

How to Implement Case-Insensitive Sorting in Cloud Firestore?

Cloud Firestore: Mencapai Pengisihan Tidak Peka Huruf Menggunakan Pertanyaan

Dalam Cloud Firestore, mengisih data menggunakan fungsi OrderBy() adalah sensitif huruf besar-besaran , menghasilkan susunan rentetan berdasarkan kesnya, seperti yang ditunjukkan dalam contoh yang disediakan. Walau bagaimanapun, mungkin terdapat senario di mana pengisihan tidak peka huruf besar/kecil lebih diutamakan.

Penghadan Pengisihan Tidak sensitif huruf besar/kecil

Firestore tidak menyediakan penyelesaian langsung untuk pengisihan tidak sensitif huruf besar/kecil menggunakan pertanyaan. Ini kerana operasi pengisihan dan penapisan dijalankan secara dalaman oleh pangkalan data, yang beroperasi pada data sebenar yang disimpan.

Penyelesaian: Menyimpan Medan Pendua

Pendekatan yang disyorkan untuk mencapai pengisihan tidak sensitif huruf besar-besaran ialah menyimpan data dua kali:

  • Kes Asal: Simpan data dalam kes asalnya, memastikan integriti dan ketepatan data.
  • Tidak sensitif huruf: Simpan medan tambahan dengan data yang sama ditukar kepada format tidak sensitif huruf besar, seperti huruf kecil.

Sebagai contoh, pertimbangkan medan bernama "myData" dengan nilai "AAA" dan "aaa". Untuk mencapai pengisihan tidak peka huruf besar-kecil, buat medan tambahan "myData_insensitive" dan simpan nilai sebagai "AAA" untuk kedua-duanya.

Menyoal dan Memaparkan Data

Apabila melakukan pertanyaan dan mengisih, nyatakan medan "myData_insensitive". Ini memastikan bahawa pesanan akan berdasarkan versi data yang tidak sensitif huruf besar-besaran. Walau bagaimanapun, apabila memaparkan keputusan, rujuk medan "myData" asal untuk mengekalkan ketepatan data.

Pertimbangan Unikod

Penormalan kes adalah penting apabila melaksanakan pengisihan tidak sensitif huruf besar-besaran untuk mengendalikan aksara Unicode dengan betul. Ini melibatkan penukaran aksara kepada format biasa, memastikan pengisihan konsisten untuk rentetan yang mengandungi aksen dan aksara khas. Pendekatan yang berbeza boleh digunakan untuk penormalan, seperti lipatan huruf besar kecil.

Contoh Pelaksanaan

Kod JavaScript berikut menunjukkan cara untuk mencapai pengisihan tidak sensitif huruf besar-besaran menggunakan medan pendua:

<code class="javascript">firestore.collection("cities").where("myData_insensitive", ">=", "AAA").where("myData_insensitive", "<=", "aaa").orderBy("myData_insensitive")</code>
Salin selepas log masuk

Pertanyaan ini akan mengembalikan "AAA" dan "aaa" dalam susunan tidak sensitif huruf besar-kecil.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pengisihan Case-Insensitive dalam Cloud Firestore?. 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