Menerap fungsi LIKE SQL dalam MongoDB
PengendaliSQL 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!