如何解决如何在req.query中使用数组?
我的问题是如何将数据结构引入查询中?我希望能够通过一个查询来搜索所有内容。我该如何实施?
我试图输入查询,所以=>?basicData.tasks.title =机队管理。有了它,我可以找到车队管理中的所有数据。但是现在我要搜索两个标题。
示例:
?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}`);
});
}
};
解决方法
您将[]
附加到客户端的参数名称上,以表明您正在提供一个数组:
?basicData.tasks.title[]=Fleetmanagement&basicData.tasks.title[]=OCPP%20Backend
然后req.query
将是:
{ 'basicData.tasks.title': ['Fleetmanagement','OCPP Backend'] }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。