Задать вопрос
@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 это название параметра по которому нужно отсортировать. И ещо как мне сделать чтоб таких параметров было несколько?
  • Вопрос задан
  • 300 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08 Куратор тега JavaScript
Наверно вот так?

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


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

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

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

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

Похожие вопросы
OfferCase Москва
от 400 000 ₽
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
Future Москва
от 50 000 до 70 000 ₽