@Db_Al_S

Подсчет одинаковых элементов в массиве mongodb. Как посчитать все элементы, для вывода корзины?

function corfList(userId,chatId){
    User.findOne({telegramId: userId})
    .then(user => {
        let html
        let amountPr
        let amount

        if(user){
            
            amountPr = {}
            user.corf_list.forEach(a =>{
                amountPr[a] = amountPr[a] + 1 || 1;
            })
            Products.find({db: user.corf_list}).then(product => {
                if(product.length){
                    html =  product.map((p, i) => {
                        for (res in amountPr)
                        amount = 'x' + amountPr[res]
                        return `<b>${i + 1}</b> ${p.name} ` + amount +res
                    }).join('\n')
                }
                const inCorf = 'В корзине:\n'
                sendHTML(chatId, inCorf + html, 'ord_corf')
            })
        } else {
            sendHTML(chatId, `В корзине пока пусто..`, 'home')
            }
    })
}

Код работает, консоль выводит:
{ chk: 4, fre: 1, grk: 1, big: 3 }
Но когда открываешь корзину в боте, работает не совсем корректно:
61fe93943d013621501739.jpeg
Как написать, чтобы в корзине под соответствующем продуктом было его количество?
  • Вопрос задан
  • 120 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы