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]"}}})

 

转载于:https://www.cnblogs.com/dyd520/p/11453048.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值