我想用SQL的like查询查询:

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

我如何在MongoDB中实现同样的目标?我找不到百分之一百零一的接线员.

推荐答案

这必须是:

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

或者类似的:

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

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

Note: MongoDB使用的正则表达式比SQL中的"LIKE"更强大.使用正则表达式,你可以创建你想象的任何模式.

有关正则表达式的更多信息,请参阅100(MDN).

Sql相关问答推荐

如何从多行数据中获取一行合并数据?

防止ActiveRecord迁移在db/structure.sql中进行巨大更改

判断序列索引处的序列是否完整

HAVING子句内部过滤的正确方法

如何找到一个组合的两个列,这是不是在其他表在ORACLE SQL?

带日期函数的复合索引不允许只扫描索引吗?

在SELECT中将日期格式转换为双周时段

在SQL中,筛选其他列中只有一个值的ID

从每月生成的系列中生成每日汇率

GRAFANA 数据库查询错误:pq:列名称不存在

将最近的结束日期与开始日期相匹配

Spark / Hive:如何获取列中正值的百分比?

如何从postgresql中的项目映射(关联数组)设置值?

根据潜在空值的条件对记录进行计数

PostgreSQL - 递归地聚合来自不同列的属性

使用 regexp_replace 替换所有出现的特殊字符

添加一列并根据其他列值进行填充

如何在一个存储过程中创建全局临时表,并在另一个存储过程中使用它

在时态表和非时态表之间使用 EXCEPT 的 SQL 子查询给出表达式错误数

使用 SQL 表中的连接列删除重复记录