Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mensimulasikan Operator LIKE SQL dalam MongoDB?

Bagaimana untuk Mensimulasikan Operator LIKE SQL dalam MongoDB?

Barbara Streisand
Barbara Streisandasal
2025-01-23 19:26:09268semak imbas

How to Simulate SQL's LIKE Operator in MongoDB?

Menerap fungsi LIKE SQL dalam MongoDB

Pengendali

SQL LIKE memudahkan carian berasaskan corak. Sebagai contoh, mencari semua pengguna dengan nama yang mengandungi "m" adalah mudah dilakukan:

<code class="language-sql">SELECT * FROM users WHERE name LIKE '%m%';</code>

MongoDB, tidak mempunyai persamaan langsung LIKE, memanfaatkan ungkapan biasa untuk fungsi yang serupa. Rakan sejawat MongoDB kepada pertanyaan SQL di atas ialah:

<code class="language-javascript">db.users.find({ name: /.*m.*/ });</code>

Ini menggunakan ungkapan biasa /.*m.*/ untuk mencari mana-mana dokumen yang medan name mengandungi "m" di mana-mana dalam rentetan. . sepadan dengan mana-mana aksara, * sepadan dengan sifar atau lebih kejadian dan m ialah aksara literal untuk dicari.

Alternatif yang lebih ringkas, tetapi kurang tepat ialah:

<code class="language-javascript">db.users.find({ name: /m/ });</code>

Ini menemui mana-mana medan name yang mengandungi sekurang-kurangnya satu "m".

Keupayaan ekspresi biasa MongoDB mengatasi pengendali LIKE SQL dalam fleksibiliti, membolehkan padanan corak yang lebih rumit. Untuk butiran komprehensif tentang ungkapan biasa MongoDB, rujuk dokumentasi MongoDB rasmi dan Dokumen Web MDN tentang ungkapan biasa. (Sila gantikan https://www.php.cn/link/f84f4800d13741a98ddf9bc46e58355c dan https://www.php.cn/link/a93dddc1fd67c3a6409fafb5801d7d50 dengan pautan sebenar.)

Atas ialah kandungan terperinci Bagaimana untuk Mensimulasikan Operator LIKE SQL dalam MongoDB?. 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