MongoDB模糊查询详解(2种常见模糊查询方式)

MongoDB模糊查询详解(2种常见模糊查询方式)-mikechen

MongoDB模糊查询有2种实现方式,一种是:like,一种是正则实现,下面分别详解2种MongoDB模糊查询。

MongoDB模糊查询like

使用like模糊查询,语法:

db.users.find({name: /mikechen/});

采用:“/ /”,中间的就是模糊查询的内容,比如:“/ mikechen /”,查询名字包含:mikechen的内容。

如果用MySQL来对比就更清楚,类似:

select *from users where name like ‘%mikechen%’;

如果要模糊查询以什么开头,语法:

db.users.find({name: /^mikechen/});

只需在模糊查询内容前,加“^”这个符号。

 

如果要模糊查询以什么结尾,语法:

db.users.find({name: /mikechen^/});

只需在模糊查询内容后,加“^”这个符号即可。

 

mongodb模糊查询正则方式

也可以使用正则表达式的方式,来实现MongoDB模糊查询。

语法:

{ < field >: { $ regex : / pattern / , $ options : ‘’ } }

常见的正则表达式:

.点号:在正则表达式中是一个通配符,它代表所有字符和数字;

*号:表示前面的匹配符出现>=0次;

+号:表示前面的匹配符出现>=1次;

?号:表示前面的匹配符出现<=1次

{666}:表示前面的匹配符出现666次

{666,888}:表示前面的匹配符出现666~888次

^:匹配开头;

$:匹配结尾;

示例:

db.users.find({"name":{ $regex:/mikechen/ }})

名字模糊查询包含:mikechen的内容。

 

作者简介

陈睿|mikechen,10年+大厂架构经验,BAT资深面试官,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

👇阅读更多mikechen架构文章👇

阿里架构 |双11秒杀 |分布式架构 |负载均衡 |单点登录 |微服务 |云原生 |高并发 |架构师

以上

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

评论交流
    说说你的看法