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/3305561/

相关文章:

sql - 合并分区上列中的值

javascript - 查询对象数组以检查它是否包含 mongoose 中的字符串数组

c# - 在 MongoDB 集合中获取前 10 个结果

node.js - MEAN 堆栈安装给出 304 和 404s

node.js - 按 ID 查找并从 MongoDB 数组中删除

mongodb - 查询数组大小大于 1 的文档

sql - 我可以在脚本或存储过程中创建一次性函数吗?

mysql - SQL Order BY Varchar 作为日期时间

javascript - 类型错误 : done is not a function query callback

mongodb - 如何统计MongoDB中日期字段的文档数量