我在mongoDb的搜索查询返回一个空列表,同时使用正则表达式来搜索

我有一个用户数据库,我试图在我的数据库中按名称搜索, 例如: 如果我的数据库有firstName as, 艾伦 亚历 阿伦 Alexender 鲍勃 比尔我在mongoDb的搜索查询返回一个空列表,同时使用正则表达式来搜索

当我写我的查询

router.get('/friendSearch/:q', function (req, res) { 

var result = [];

User.find({firstName: "/" + req.params.q + "/"}, function (err, list) {

if (err) {

console.log(err);

}

else {

console.log("In else");

console.log(list);

}

});

});

在我的请求,通过“A” PARAMS查询应返回, 艾伦 亚历 阿伦 Alexender

但是,尽管我得到一个空列表。 感谢

回答:

使用$regex代替:

{firstName: { '$regex' : req.params.q, '$options' : 'i' }} 

可以去除$options如果你想。 i参数用于搜索不区分大小写以匹配大小写的情况。 如果您不需要区分大小写的选项,你可以写你的查询这样的:

{firstName: { '$regex' : req.params.q}} 

这里documentation

以上是 我在mongoDb的搜索查询返回一个空列表,同时使用正则表达式来搜索 的全部内容, 来源链接: utcz.com/qa/257317.html

回到顶部