数据库直接查询
db.student.find({name:{$regex:'jack', $options:'i'}})
db.student.find({name:{$regex:/jack.*/i}})
db.student.find({name:/jack/i})
开源组件使用
github.com/globalsign/mgo使用
query := bson.M{Name: bson.M{"$regex": jack, "$options": "$i"}}
err = c.Find(query).All(&entityList)
option的值包含:
- i(不区分大小写),
- m(当使用^与$符号模糊匹配时,作用于屏蔽中间的换行符) ,
- x(忽略注释,以#开头 /n结尾),
- s(允许所有字符包括换行符参与模糊匹配)
对比
MySQL | MongoDB |
---|---|
select * from student where name like ‘%jack%’ | db.student.find({name:{$regex:/jack/}}) |
select * from student where name regexp ‘jack’ | db.student.find({name:/jack/}) |