如何返回路由中指定的所有“数据”匹配查询参数

问题描述 投票:0回答:1

我对nodejs很新。我最近使用基本数据结构深入研究了REST API端点。我正在制作一个GET/loans,它通常会返回我所有的贷款申请。但我正在尝试重构它以满足查询参数端点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,
    });
  }

我试图重构它以返回其详细信息与查询参数匹配的贷款,这不起作用:

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,
    });
  }

我该怎么办呢?任何输入将不胜感激。

node.js query-parameters
1个回答
0
投票

试试这个:

const data = loans.filter(item => item.queryStatus === queryStatus && item.queryRepaid === queryRepaid);

但是,您可以从数据库查询结果,如下所示:

return Loans.find({queryStatus: queryStatus, queryRepaid: queryRepaid});
© www.soinside.com 2019 - 2024. All rights reserved.