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:"[^\\s\u4e00-\u9fa5]"}}})

 

posted @ 2019-09-03 14:56    阅读(7049)  评论(0编辑  收藏  举报