簡體   English   中英

如何將數組與 req.query 一起使用?

[英]How can I use an array with req.query?

我的問題是如何將我的數據結構帶入查詢? 我希望能夠通過一個查詢搜索所有內容。 我該如何實施?

我嘗試輸入查詢所以 =>?basicData.tasks.title=Fleetmanagement。 有了它,我可以找到車隊管理中的所有數據。 但現在我想用兩個標題進行搜索。

例子:

?basicData.tasks.title=Fleetmanagement&basicData.tasks.title=OCPP Backend

但它不起作用。 我怎樣才能做到這一點?

這是我的數據結構:

  "basicData": {
      "tasks":[
         {"title": "Fleetmanagement"},
         {"title": "OCPP Backend"}
        ]
    }

我的代碼:

export const allCompanyData = (req: Request, res: Response) => {
  if (req.query) {
    Company.find(req.query).then(docs => {
      logger.info(`Query works ${req.query}`);
      res.json({
        query: req.query
      })
      res.status(200).json(docs);
    }).catch(err => {
      logger.error(`Error ${err}`);
      res.status(400).json(`Error ${err}`)
    })
  } else {
    Company.find()
      .then((items: any) => {
        logger.info("Successful finding");
        res.status(200).json(items);
      })
      .catch((err: any) => {
        logger.error(`Error ${err}`);
        res.status(400).json(`Error ${err}`);
      });
  }
};

您將 append []到客戶端的參數名稱以表明您正在提供一個數組:

?basicData.tasks.title[]=Fleetmanagement&basicData.tasks.title[]=OCPP%20Backend

那么req.query將是:

{ 'basicData.tasks.title': ['Fleetmanagement', 'OCPP Backend'] }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM