在 MongoDB 中複製 SQL 的 LIKE 功能
SQL 的 LIKE
運算子簡化了基於模式的搜尋。 例如,所有尋找名稱包含「m」的使用者很容易完成:
<code class="language-sql">SELECT * FROM users WHERE name LIKE '%m%';</code>
MongoDB 缺乏直接的 LIKE
等效項,它利用正規表示式來實現類似的功能。 上述 SQL 查詢的 MongoDB 對應項是:
<code class="language-javascript">db.users.find({ name: /.*m.*/ });</code>
這使用正規表示式 /.*m.*/
來尋找 name
欄位在字串中任意位置包含「m」的任何文件。 .
匹配任何字符,*
匹配零次或多次出現,m
是要搜尋的文字字符。
一個更簡單但不太精確的替代方案是:
<code class="language-javascript">db.users.find({ name: /m/ });</code>
這會找到任何包含至少一個「m」的 name
欄位。
MongoDB 的正規表示式功能在彈性上超越了 SQL 的 LIKE
運算符,可以實現更複雜的模式匹配。 有關 MongoDB 正則表達式的全面詳細信息,請參閱官方 MongoDB 文件 和 關於正則表達式的 MDN Web 文檔。 (請將https://www.php.cn/link/f84f4800d13741a98ddf9bc46e58355c
和https://www.php.cn/link/a93dddc1fd67c3a6409fafb5801d7d50
替換為實際連結。)
以上是如何在MongoDB中模擬SQL的LIKE運算子?的詳細內容。更多資訊請關注PHP中文網其他相關文章!