Apabila menanyakan pangkalan data untuk dokumen tertentu menggunakan carian subrentetan, adalah penting untuk membina pertanyaan dengan betul untuk mencapai hasil yang diingini. Artikel ini meneroka penggunaan pemacu MongoDB Go untuk melaksanakan pertanyaan regex dan menyerlahkan isu yang berpotensi dan penyelesaiannya.
Dalam coretan kod yang disediakan, percubaan untuk mendapatkan semula entri yang mengandungi "dia" menggunakan pertanyaan regex ialah tidak bekerja. Isunya terletak dalam pembinaan dokumen BSON yang digunakan untuk penapisan.
Struktur primitif.Regex menjangkakan medan Corak menjadi rentetan tanpa garis miring di hadapan dan mengekori. Kod semasa cuba menggunakan rentetan dengan garis miring, yang tidak betul. Untuk menyelesaikan masalah ini, pelarasan berikut perlu dibuat:
<code class="go">filter := bson.D{{"text", primitive.Regex{Pattern: "he", Options: ""}}}</code>
Dengan pengubahsuaian ini, kod akan membina penapis BSON dengan betul yang boleh digunakan untuk pertanyaan regex. Pertanyaan akan memadankan dokumen di mana medan teks mengandungi subrentetan "dia" dan mengembalikan hasil yang dijangkakan.
Atas ialah kandungan terperinci Bagaimana dengan Betul Membina Pertanyaan Regex untuk Carian Substring dalam Pemacu MongoDB Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!