sql - 如何用 "like"查询MongoDB

标签 sql mongodb mongodb-query sql-like

我想用 SQL 的 like 查询查询一些东西:

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

如何在 MongoDB 中实现相同的目标?我在 the documentation 中找不到 like 的运算符.

最佳答案

那必须是:

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

或者,类似的:

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

您要查找某处包含“m”的内容(SQL 的“%”运算符等同于正则表达式的“.*”),而不是将“m”锚定到字符串的开头。

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

有关正则表达式的更多信息,请参阅 Regular expressions (MDN)。

关于sql - 如何用 "like"查询MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52024886/

相关文章:

mysql - 如何从多个表中高效地获取数据?

javascript - 如何循环遍历模型文件并初始化所有文件?

node.js - MongoDB 架构 : store id as FK or whole document

java - 如何使用spring数据计算mongo文档嵌套数组中的项目?

node.js - Mongodb查询文档数组字段长度而不获取数组

node.js - 如果通过Mongoose在Mongodb中的另一个文档中存在引用,有什么更好的方法来防止文档被删除?

mongodb - 如何使用组和累加器阶段改进 MongoDB 聚合?

mysql - 内连接或其他相等的解决方案

java - 房间架构导出目录 - 找不到参数的方法 javaCompileOptions()

java - <EOF>创建 Derby 表时出现异常