Node.js req.params在mongoDB中不在$limit内工作

Node.js req.params在mongoDB中不在$limit内工作,node.js,mongodb,express,Node.js,Mongodb,Express,我尝试获取lim的url参数(检查下面列出的代码)的值为5以限制搜索结果,因此我在$limit内传递了req.params.lim,但它不起作用,但当我尝试使用赋值为5的普通变量时,它工作良好。所以请帮帮我 app.get('/search/:q/:lim',function(req,res){ db.jobs.aggregate({$match:{$text:{$search:req.params.q}}},{$sort:{score:{$meta:"textScore"}}}, {$lim

我尝试获取lim的url参数(检查下面列出的代码)的值为5以限制搜索结果,因此我在$limit内传递了req.params.lim,但它不起作用,但当我尝试使用赋值为5的普通变量时,它工作良好。所以请帮帮我

app.get('/search/:q/:lim',function(req,res){
db.jobs.aggregate({$match:{$text:{$search:req.params.q}}},{$sort:{score:{$meta:"textScore"}}},
 {$limit:req.params.lim},function(err,docs){res.send({data:docs});});
});

你确定那不是字符串吗?尝试使用parseIntlocalhost:3000/jobs/5包装这类似于/search/:q/:lim它不是字符串它是一个数字你能帮我怎么做吗谢谢@NeilLunn现在它使用parseint,你能解释一下为什么它使用parsetint而不是普通的吗?请求参数通常作为字符串传递。即使在post正文中包含JSON格式的数据,通常也需要正文解析器插件才能将其转换为可用的数据结构。既然
$limit
需要一个数字而不是一个字符串,你需要确保你给出的就是这个数字。现在我很清楚了,谢谢@NeilLunn给我这个精彩的答案