如何用“ like”查询MongoDB?


问题内容

我想用SQLlike查询来查询一些东西:

SELECT * FROM users  WHERE name LIKE '%m%'

我如何在MongoDB中实现相同目标?我like在文档中找不到运算符。


问题答案:

那必须是:

db.users.find({"name": /.*m.*/})

或类似:

db.users.find({"name": /m/})

您正在寻找某种在某处包含“ m”的东西(SQL的' %'运算符等效于Regexp的' .*'),而不是在字符串的开头固定了“ m”的东西。

注意: mongodb使用的正则表达式比sql中的“ LIKE”更强大。使用正则表达式,您可以创建您想像的任何模式。

有关正则表达式的更多信息,请参阅此链接 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions