我正在尝试使用req.query.id(我也使用过req.body)从网址中获取ID,但是它返回一个空数组,但是如果我将变量编号为1,则会得到包含数据的数组。 `
router.get('/:id', isLoggedIn, function(req, res) {
MongoClient.connect(url, function(err, db) {
if (err) throw err;
let id = req.query.id;
db.collection("restaurant").find( { _id : id } ).toArray(function (err, result) {
console.log(result);
res.render('menu', { restaurant: result });
});
});
});
`
答案 0 :(得分:1)
req.query
用于获取?
querystrings之后的url的querystring部分。要获取id
的值,您应该使用req.params
const { id } = req.params;
而且您还必须将id
转换为mongodb match
查询所要使用的数字
{ _id: Number(id) }