如何return路由中指定的所有"Data"匹配查询参数
How to return all "Data" matching query parameters specified in route
我对 nodejs 很陌生。我最近使用基本数据结构深入研究了 REST API 端点。我正在制作一个 GET/loans
,通常 return 是我所有的贷款申请。但我正在尝试重构它以满足查询参数端点 GET/loans?status=approve&repaid=true
&& GET/loans?status=approve&repaid=false
这是我的 get 请求的样子。效果很好
static getLoans(req, res) {
return res.status(200).send({
status: 200,
data: loans,
});
}
我正在尝试将其重构为 return 其详细信息与查询参数匹配的贷款,但它不起作用:
static getLoans(req, res) {
if (req.query) {
const queryStatus = req.query.status;
const queryRepaid = req.query.repaid;
const data = loans.filter(item => item.queryStatus && queryRepaid);
return res.status(200).send({
status: 200,
data,
});
}
return res.status(200).send({
status: 200,
data: loans,
});
}
我该怎么做?如有任何意见,我们将不胜感激。
试试这个:
const data = loans.filter(item => item.queryStatus === queryStatus && item.queryRepaid === queryRepaid);
但是,您可以像这样从数据库中查询结果:
return Loans.find({queryStatus: queryStatus, queryRepaid: queryRepaid});
我对 nodejs 很陌生。我最近使用基本数据结构深入研究了 REST API 端点。我正在制作一个 GET/loans
,通常 return 是我所有的贷款申请。但我正在尝试重构它以满足查询参数端点 GET/loans?status=approve&repaid=true
&& GET/loans?status=approve&repaid=false
这是我的 get 请求的样子。效果很好
static getLoans(req, res) {
return res.status(200).send({
status: 200,
data: loans,
});
}
我正在尝试将其重构为 return 其详细信息与查询参数匹配的贷款,但它不起作用:
static getLoans(req, res) {
if (req.query) {
const queryStatus = req.query.status;
const queryRepaid = req.query.repaid;
const data = loans.filter(item => item.queryStatus && queryRepaid);
return res.status(200).send({
status: 200,
data,
});
}
return res.status(200).send({
status: 200,
data: loans,
});
}
我该怎么做?如有任何意见,我们将不胜感激。
试试这个:
const data = loans.filter(item => item.queryStatus === queryStatus && item.queryRepaid === queryRepaid);
但是,您可以像这样从数据库中查询结果:
return Loans.find({queryStatus: queryStatus, queryRepaid: queryRepaid});