在 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中文网其他相关文章!