我是表达新手,这是我的第一份工作。我希望req.query
只返回有非洲位置的河流。我没有得到我想要的东西,而是返回数据库中的所有河流。这是我的代码:
数据库
var rivers = [
{"name": "Nile", "location": "africa"},
{"name": "Niger", "location": "africa"},
{"name": "Indus", "location": "asia"},
{"name": "Danube", "location": "europe"},
{"name": "Thames", "location": "europe"},
{"name": "Ohio", "location": "america"}
];
路由器
router.get('/', function (req, res) {
res.send(req.query.location);
});
http://localhost:3000/rivers?location=africa
答案 0 :(得分:1)
您可以使用Array.filter查找数组中的所有相应元素,具体取决于传递的req.query.location
,然后res.send
将它们传回客户端。
以下是一个例子:
var rivers = [
{ "name": "Nile", "location": "africa" },
{ "name": "Niger", "location": "africa" },
{ "name": "Indus", "location": "asia" }
]
router.get('/rivers', function (req, res) {
const matchingRivers = rivers.filter(river => {
return river.location === req.query.location
});
res.send(matchingRivers);
});
并访问:http://localhost:300/rivers?location=africa
。
请记住:
req.query
包含您通过网址发送的查询参数。 res.send
会向您的客户发送一些内容。