Node.js 一次对猫鼬执行多个搜索查询

Node.js 一次对猫鼬执行多个搜索查询,node.js,mongoose,Node.js,Mongoose,我面临的问题,我需要采取多个搜索查询在一个url的时间为后端的目的 像{serverAddress}/v1/videos?genres=Education,SportsserverAddress表示ip地址,但在我的后端代码中,我只能接受一个参数,但需要接受一个或两个参数,输出应该返回属于“Education”或“Sports”的视频流派和视频是猫鼬的收藏,但这是一个错误。“价值”必须是[教育、体育、电影、喜剧、生活方式等]”, 我的后端代码 /validation.js const queri

我面临的问题,我需要采取多个搜索查询在一个url的时间为后端的目的 像
{serverAddress}/v1/videos?genres=Education,Sports
serverAddress表示ip地址,但在我的后端代码中,我只能接受一个参数,但需要接受一个或两个参数,输出应该返回属于“Education”或“Sports”的视频流派和视频是猫鼬的收藏,但这是一个错误。“价值”必须是[教育、体育、电影、喜剧、生活方式等]”, 我的后端代码

/validation.js

const queries ={
  query:Joi.object().keys({
    sortBy: Joi.array().items(Joi.string().valid('viewCount', 'releaseDate')).single(),
    genres: Joi.array().items(Joi.string().valid('Education', 'Sports', 'Movies', 'Comedy', 'Lifestyle', 'All')).single(),
    contentRating:  Joi.array().items(Joi.string().valid('Anyone', '7+', '12+', '16+', '18+', 'All')).single(),

  }), 
/route.js

router.get(
  "",
  validate(videoValidation.queries),
  videoController.genrequery,
);

我只知道问题出在validate上,否则它不会抛出错误并继续下一个函数,即videoController。genrequery

尝试从类型验证器中删除单个函数

好的,让我试试alsoI删除了单个函数,它说的是“\“类型\”必须是数组”,在validate函数中,我们如何将搜索查询存储为数组从查询参数中将流派的值设置为数组
{{serverAddress}/v1/videos?genres=[教育,体育]
它将通过验证程序。然后,在控制器中,将查询参数genres解析为JSON,然后再将其用于数据库查询。