我想用SQL查询一些东西,比如查询:
SELECT * FROM users WHERE name LIKE '%m%'
如何在MongoDB中实现这一点?我在文档中找不到这样的操作员。
我想用SQL查询一些东西,比如查询:
SELECT * FROM users WHERE name LIKE '%m%'
如何在MongoDB中实现这一点?我在文档中找不到这样的操作员。
当前回答
将模板文字与变量一起使用也有效:
{“firstname”:{$regex:`^${req.body.firstname}.*`,$options:'si'}}
其他回答
还可以按如下方式使用通配符过滤器:
{"query": { "wildcard": {"lookup_field":"search_string*"}}}
请务必使用*。
字符串yourdb={deepakparmar,dipak,parmar}
db.getCollection('yourdb').find({"name":/^dee/})
ans deepakparmar公司
db.getCollection('yourdb').find({"name":/d/})
ans deepakparmar,迪帕克
db.getCollection('yourdb').find({"name":/mar$/})
ans deepakparmar,帕尔马
In
使用Python的PyMongoMongoose使用Node.jsJongo,使用Javamgo,使用Go
您可以执行以下操作:
db.users.find({'name': {'$regex': 'sometext'}})
在SQL中,“like”查询如下所示:
select * from users where name like '%m%'
在MongoDB控制台中,如下所示:
db.users.find({"name": /m/}) // Not JSON formatted
db.users.find({"name": /m/}).pretty() // JSON formatted
此外,pretty()方法将在所有地方生成一个格式化的JSON结构,这样可读性更强。
我找到了一个免费的工具来将MySQL查询转换为MongoDB:http://www.querymongo.com/
我检查了几个问题。在我看来,几乎所有这些都是正确的。据此,答案是
db.users.find({
"name": "%m%"
});