如何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});