如何用“like”查询MongoDB?

我想查询一些像SQL like查询:

select * 
from users 
where name like '%m%'

如何在MongoDB中做同样的事情?
我找不到like文件中的操作员。


那将是:

db.users.find({"name": /.*m.*/})

或者类似的:

db.users.find({"name": /m/})

你正在寻找某处包含“m”的东西(SQL的' % '运算符等同于Regexp的' .* '),而不是将某个“m”锚定到字符串的开头。


db.users.insert({name: 'paulo'})
db.users.insert({name: 'patric'})
db.users.insert({name: 'pedro'})

db.users.find({name: /a/})  //like '%a%'

out:paulo,patric

db.users.find({name: /^pa/}) //like 'pa%' 

out:paulo,patric

db.users.find({name: /ro$/}) //like '%ro'

出:佩德罗


  • PyMongo使用Python
  • 使用Node.js的 Mongoose
  • Jongo ,使用Java
  • mgo ,使用Go
  • 你可以做:

    db.users.find({'name': {'$regex': 'sometext'}})
    
    链接地址: http://www.djcxy.com/p/15153.html

    上一篇: How to query MongoDB with "like"?

    下一篇: NoSQL (MongoDB) vs Lucene (or Solr) as your database