Задать вопрос
@fpsstyle
Человек

Как сделать сортировку по разным параметрам в API запросе?

Привет! Хочу сделать в свой интернет магазин чтобы на одиночной странице для продукта снизу были похожие, но для этого мне нада отсортировать продукты на сервере по параметрам(к примеру где gender = male и productType = 'T-shirt'). Вот то что я сам смог написать :
router.get('/sort/:sortBy',(req,res,next) => {
	const sort = req.params.sortBy
	Product.find({ gender : req.body.gender})
	.then(response => {
		res.status(200).json(response)
	})
	.catch(err => {
		res.status(500).json({
			error: err
		})
	})
})


sortBy это название параметра по которому нужно отсортировать. И ещо как мне сделать чтоб таких параметров было несколько?
  • Вопрос задан
  • 274 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08 Куратор тега JavaScript
Наверно вот так?

Product.find({ 
  gender : req.body.gender,
  productType: req.body.productType
})


А может быть стоит делать post запрос на страничку /sort/?

Либо доработать роутер, чтоб принимал параметры вида
/sort/:byGenger/:byProductType

Но тогда придется помнить и четкой последовательности параметров, или писать кучу роутеров под каждый вариант. Оба варианта плохие. Поэтому шли через post.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы