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的内容。

 

评论交流
    说说你的看法