MongoDB 正则表达式查询

正则表达式查询     $regex  

注:^ 取反的意思  用特殊的转义字符需要在前面加一个斜杠

通过 ^取反 ,再通过$not取反,就可获得只包含一种类型的数据

\d  数字

\s  空格

\w  数字和字母

//正则查询  查询包含 为 字的文档
db.product1.find({"name":{$regex:/为/}})
db.product1.find({"name":{$regex:""}})
db.product1.find({"name":/为/})

//查询name包含中文的数据
db.product1.find({"name":{$regex:"[u4e00-u9fa5]"}})

//查询name不包含中文的数据
db.product1.find({"name":{$not:{$regex:"[u4e00-u9fa5]"}}})

//查询name 中包含数字
db.product1.find({"name":{$regex:"\d"}})
db.product1.find({"name":{$regex:"[0-9]"}})

//只包含字母的文档   ^ 取反的意思   用特殊的转义字符需要在前面加一个斜杠
db.product1.find({"name":{$not:{$regex:"[^a-zA-z\s]"}}})

//只包含汉字的文档  可包含空格
db.product1.find({"name":{$not:{$regex:"[^\su4e00-u9fa5]"}}})
原文地址:https://www.cnblogs.com/dyd520/p/11453048.html