我正在尝试在 Express 中添加查询参数。这将是一个可选参数。我想添加一个数量限制,以限制返回的响应数量。
所以我尝试了这个网址:
http://localhost:3000/restaurants/mowgli?limitQuery=4
使用此代码:
app.route("/restaurants/:restaurantName")
.get(function(req, res) {
let partialToMatch = new RegExp(req.params.restaurantName, 'i');
let limitQuery = req.query.limitQuery
console.log(limitQuery);
Restaurant.find({
BusinessName: partialToMatch
}, null, {
limit: limitQuery
}, function(err, foundRestaurant) {
if (foundRestaurant) {
res.send(foundRestaurant)
} else {
res.send("No restaurants matching that title was found.");
}
});
});
但它会引发错误“找不到与该标题匹配的餐厅。”。控制台成功记录limitQuery参数,但是传到limit字段时好像出错了。
注意:如果我不使用可选的查询参数,通过删除limitQuery 变量并恢复到我的旧代码(并在限制字段中硬编码一个数字,例如limit: 25
),一切正常。