sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB Ordrer/salg aggregeringsgruppe pr. måned Sum Total + Antal felt

Du kan bruge $cond som nedenfor:

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




  1. MongoDB - Mange-til-mange forhold?

  2. Indhentning af $grupperesultat med gruppeantal

  3. Hent fra flere, separate samlinger med Express og MongoDB

  4. Sådan formateres datoen i MongoDB