MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB Commandes/groupe d'agrégation des ventes Par mois Somme Total + Champ de comptage

Vous pouvez utiliser $cond comme ci-dessous :

Order.aggregate([
    {
        $group: {
            _id: {
                month: { $month: "$date" },
                year: { $year: "$date" } 
            },
            total: { $sum: "$total" },
            countByApp: { $sum: { $cond: [ {$eq: [ "$source", "APP" ]} , 1, 0] } },
            countByWeb: { $sum: { $cond: [ {$eq: [ "$source", "WEB" ]} , 1, 0] } },
        }
    }
])

Mongo Playground