mongodb按照字段模糊查询方法

数据库直接查询

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(允许所有字符包括换行符参与模糊匹配)

对比

MySQLMongoDB
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/})

版权声明:本文为Nick_666原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。