Pertanyaan Subrentetan Regex dalam MongoDB-Go-Driver
Pertanyaan subrentetan Regex adalah penting untuk melaksanakan carian teks kompleks dalam MongoDB. Walaupun cangkerang mongo menawarkan cara mudah untuk membuat pertanyaan menggunakan corak regex, mungkin sukar untuk meniru fungsi ini menggunakan pemacu Go mongo rasmi.
Gambaran Keseluruhan Isu
Seorang pembangun menghadapi kesukaran untuk mendapatkan semula entri menggunakan pertanyaan subrentetan regex dengan pemandu mongo-go. Walaupun mengikut contoh yang didokumenkan, kod tersebut gagal mengembalikan sebarang hasil.
Sebab
Setelah siasatan lanjut, isu ini berpunca daripada format yang salah untuk medan Corak bagi primitif.Struktur regex. Dalam kod asal, Corak mengandungi garis miring ke hadapan (/), yang tidak diperlukan untuk penggunaan dalam pemacu Go mongo.
Penyelesaian
Untuk menyelesaikan isu itu, medan Corak dalam primitif.Regex hanya perlu memasukkan corak regex itu sendiri, tanpa sebarang garis miring. Contohnya:
<code class="go">filter := bson.D{{"text", primitive.Regex{Pattern: "he", Options: ""}}}</code>
Perubahan ini membolehkan pemacu Go mongo mentafsir corak regex dengan betul dan melaksanakan pertanyaan subrentetan dengan jayanya.
Hasil Jangkaan
Dengan kod yang diperbetulkan, pertanyaan harus mengembalikan dua dokumen daripada koleksi:
{ "_id" : ObjectId("5c9cc7e9950198ceeefecbdd"), "text" : "hello world" }, { "_id" : ObjectId("5c9cc7f6950198ceeefecbec"), "text" : "hello" }
Dokumen ini mengandungi subrentetan "dia" dalam medan "teks"nya, sepadan dengan corak regex yang dinyatakan dalam pertanyaan.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pertanyaan Substring Regex dalam MongoDB dengan Pemacu Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!