我有一个用户数据库,我正在尝试在我的数据库中按名称进行搜索, 例如: 如果我的数据库的firstName为, 艾伦 亚历克斯 阿伦 Alexender 短发 比尔
当我写我的查询时
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
但是我得到一个空列表。 感谢
答案 0 :(得分:0)
改为使用$regex
:
{firstName: { '$regex' : req.params.q, '$options' : 'i' }}
如果需要,您可以删除$options
。 i参数用于搜索不区分大小写以匹配大小写的情况。
如果您不需要不区分大小写的选项,则可以像这样编写查询:
{firstName: { '$regex' : req.params.q}}