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

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


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

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

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

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект