Не добавляются в массив размеры больше 1 раза
Выбор размеров на фронте (pug):
form(action="/cart/add" method="POST")
input(type="hidden" name="id" value= product.id)
select(name="size" required)
each size in product.sizes
option(value= size)= size
Обработка запроса на сервере:
Посмотрел в гугле, что $push поможет, но этого не произошло(
Метод, для корзины пользователя:
const mapCartItems = (cart) => {
return cart.items.map(p => ({
...p.productId._doc,
id: p.productId.id,
count: p.count,
$push: {size: p.size}
}))
}
Обработка запроса:
router.post('/add', auth, async(req, res) => {
try {
const product = await Product.findById(
req.body.id, req.body.title, req.body.nowPrice, req.body.mainSize,
req.body.article, req.body.sex
);
product.size = req.body.size;
await req.user.addToCart(product);
res.redirect('/cart');
} catch (e) {
console.log(e);
}
})
В итоге после первого выбора размера, второй размер в массив не добавляется. Например если выбрал 'M', и захотел еще один 'S', то в массиве остается только 'M'. В бэке я новичок, так что буду рад любой помощи.