MongoDB——模糊查询的两种方法

方法一:类似于结构性数据库的like

db.users.find({fname: /zhangsan/});

对应mysql的like用法:select * from users where fname like '%zhangsan%';

(1)如果要模糊查询以什么开头,方法如下:

db.users.find({fname: /^zhangsan/});

(2)如果要模糊查询以什么结尾,方法如下:

db.users.find({fname: /zhangsan^/});

方法二:正则表达式

常见的正则表达式

.点号:在正则表达式中是一个通配符,它代表所有字符和数字
*号:表示前面的匹配符出现>=0次;
+号:表示前面的匹配符出现>=1次;
?号:表示前面的匹配符出现<=1次;
{666}:表示前面的匹配符出现666次;

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

^:匹配开头;
$:匹配结尾;

举例:db.users.find({"name":{$regex:/zhangsan/}});

模型匹配user集合中name列包含"zhangsan"的数据。

你可能感兴趣的:(#,mongodb,mongodb,数据库)