


Cara membuat indeks teks untuk medan bersarang dengan nama yang sama
editor php Strawberry akan memperkenalkan kepada anda cara membuat indeks teks dalam medan bersarang dengan nama yang sama. Dalam pangkalan data, kita sering menghadapi situasi di mana kita perlu mencari dan membuat pertanyaan dalam medan bersarang. Walau bagaimanapun, mencipta indeks teks menjadi rumit apabila terdapat berbilang medan bersarang dengan nama yang sama. Artikel ini akan menerangkan secara terperinci cara menangani masalah ini dan memberi anda penyelesaian. Seterusnya, kami akan membimbing anda melalui proses langkah demi langkah untuk membuat indeks teks dengan mudah untuk medan bersarang dengan nama yang sama.
Kandungan soalan
Saya cuba mencipta indeks teks gabungan pada 2 medan bersarang dengan nama yang sama. Sebab saya cuba melakukan ini adalah supaya saya boleh melakukan carian teks penuh menggunakan mongo pada kedua-dua medan.
Contoh struktur data
{ "createdat": "2023-01-20t18:39:45.551z", "id": "63cadff13fc409d0b026f219", "userid": "63c13a9ba4c921b78e7d1a3a", "question": { "statement": "what is the atomic number of potassium?", "fileurl": "http://localhost:4000/media/90152d8363424e688ad6e9505194a818.jpg", "mediatype": 2 }, "answer": { "statement": "19" } }
Seperti yang anda lihat daripada contoh, question
和 answer
具有相同的嵌套字段 statement
. Saya cuba mencipta indeks teks untuk pernyataan soalan dan jawapan
Apa yang saya cuba lakukan
textsearchindexmodel := mongo.indexmodel{ keys: bson.d{ {value: "question.statement", key: "text"}, {value: "answer.statement", key: "text"}, }, options: options.index().setname("textsearchindex"), }
Ini tidak berfungsi dan menghasilkan ralat ini:
Failed to create index for flashcard collection:....caused by :: The field 'text' appears multiple times in the index key pattern
- Adakah cara untuk melakukan ini?
- Adakah pendekatan saya betul untuk apa yang saya ingin capai?
p.s: Jika anda baru pergi, anda juga boleh memuat naiknya seperti di mongodb kerana pemetaan kepada pemandu mongodb go adalah sangat mudah
Penyelesaian
Sila ambil perhatian bahawa koleksi boleh mempunyai paling banyak satu teks indeks .
Jika anda tahu ini dan ingin mencipta indeks teks yang meliputi "question.statement"
和 "answer.statement"
maka ini berfungsi.
Ralat anda ialah spesifikasi indeks: bson .d
表示一个文档,一个有序的属性列表(名称-值对)。这是 bson.e
的一部分,其中 bson. e
ialah:
type e struct { key string value interface{} }
key
是属性的名称,value
ialah nilai atribut ini. Jadi anda terbalikkan dan ia sepatutnya:
textSearchIndexModel := mongo.IndexModel{ Keys: bson.D{ {Key: "question.statement", Value: "text"}, {Key: "answer.statement", Value: "text"}, }, Options: options.Index().SetName("textSearchIndex"), }
Atas ialah kandungan terperinci Cara membuat indeks teks untuk medan bersarang dengan nama yang sama. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



OpenSSL, sebagai perpustakaan sumber terbuka yang digunakan secara meluas dalam komunikasi yang selamat, menyediakan algoritma penyulitan, kunci dan fungsi pengurusan sijil. Walau bagaimanapun, terdapat beberapa kelemahan keselamatan yang diketahui dalam versi sejarahnya, yang sebahagiannya sangat berbahaya. Artikel ini akan memberi tumpuan kepada kelemahan umum dan langkah -langkah tindak balas untuk OpenSSL dalam sistem Debian. Debianopenssl yang dikenal pasti: OpenSSL telah mengalami beberapa kelemahan yang serius, seperti: Kerentanan Pendarahan Jantung (CVE-2014-0160): Kelemahan ini mempengaruhi OpenSSL 1.0.1 hingga 1.0.1f dan 1.0.2 hingga 1.0.2 versi beta. Penyerang boleh menggunakan kelemahan ini untuk maklumat sensitif baca yang tidak dibenarkan di pelayan, termasuk kunci penyulitan, dll.

Artikel ini menerangkan cara menggunakan alat PPROF untuk menganalisis prestasi GO, termasuk membolehkan profil, mengumpul data, dan mengenal pasti kesesakan biasa seperti CPU dan isu memori.

Artikel ini membincangkan ujian unit menulis di GO, meliputi amalan terbaik, teknik mengejek, dan alat untuk pengurusan ujian yang cekap.

Artikel ini menunjukkan penciptaan dan stub di GO untuk ujian unit. Ia menekankan penggunaan antara muka, menyediakan contoh pelaksanaan mengejek, dan membincangkan amalan terbaik seperti menjaga mocks fokus dan menggunakan perpustakaan penegasan. Articl

Artikel ini meneroka kekangan jenis adat Go untuk generik. Ia memperincikan bagaimana antara muka menentukan keperluan jenis minimum untuk fungsi generik, meningkatkan keselamatan jenis dan kebolehgunaan semula kod. Artikel ini juga membincangkan batasan dan amalan terbaik

Artikel ini membincangkan pakej GO's Reflect, yang digunakan untuk manipulasi kod runtime, bermanfaat untuk siri, pengaturcaraan generik, dan banyak lagi. Ia memberi amaran tentang kos prestasi seperti pelaksanaan yang lebih perlahan dan penggunaan memori yang lebih tinggi, menasihati penggunaan yang bijak dan terbaik

Artikel ini membincangkan menggunakan ujian yang didorong oleh jadual di GO, satu kaedah yang menggunakan jadual kes ujian untuk menguji fungsi dengan pelbagai input dan hasil. Ia menyoroti faedah seperti kebolehbacaan yang lebih baik, penurunan duplikasi, skalabiliti, konsistensi, dan a

Perpustakaan yang digunakan untuk operasi nombor terapung dalam bahasa Go memperkenalkan cara memastikan ketepatannya ...
