Не добавляются в массив размеры больше 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'. В бэке я новичок, так что буду рад любой помощи.


Ответы (0 шт):