[英]Search query using Regex in Mongodb
我正在尝试使用正则表达式从mongodb获取结果。 例如,在搜索用户名amitverma
,如果我在搜索amitverma
键入amit
,我希望能够得到该结果。
我在互联网上搜索了一个解决方案,似乎每个人都可以通过编写如下代码来使其工作:
var searchterm = req.body.name;
collection.find(
{ "username": new RegExp('/.*' + searchterm + '.*/') },
[ 'username', 'status' ],
function(e, docs){
console.log(e);
console.log(docs);
res.writeHead(200, {'content-type': 'text/json' });
res.write( JSON.stringify({ 'docs' : docs }) );
res.end('\n');
}
);
我仍然无法正常工作。 它给了我一个空数组。 另外,在将{username: searchterm}
为{ "username": new RegExp('/.*' + searchterm + '.*/') }
,我什至无法获得字符串amitverma
结果,这意味着这是正则表达式失败了。
尝试从RegExp()
构造函数中删除斜杠:
{ "username": new RegExp('.*' + searchterm + '.*') },
除非您要搜索两个文字正斜杠,否则斜杠不应存在。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.