'
const getCandidates = (req,res,next) => {
console.log(req.params);
Candidate.find({
$or:[
{"name":req.params.name},
{"email":req.params.email},
{"role":req.params.role},
{"status":req.params.status}
]}
,
function(err, result) {
if(err) { console.log(err);
throw err;
}
res.json(result);
});
}
'
我想所有的文件,其中匹配的领域,用户可能会或可能不会给予所有领域的搜索和检索。
1条答案
按热度按时间qv7cva1a1#
我认为出现此问题是因为您使用的是
$or
,这使它成为一个过滤器,例如,name
具有一个值,但随后它在email
字段上执行“或”操作,如果为空,则返回所有文档,我认为您需要一些逻辑来检查是否有值,如果为空,则不返回它,我认为对于您的用例,您不需要$or
,我在我的应用程序中这样做: