MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB $group und explizite Gruppenbildung mit berechneter Spalte

Sie sind auf dem richtigen Weg. In diesem Fall müssen Sie $cond verschachteln Operatoren wie diese:

db.UM.aggregate(
    { $project: {
        computed_column: {$cond: [{$gt: ['$Salary', 30000]},
            {$cond: [{$gt: ['$Salary', 60000]}, 'Above 60K', '30K-60K']},
            'Under 30K']}
    }},
    { $group: {_id: {Salary_Slab: '$computed_column'}, count: {$sum: 1}}})

Ergebnisse:

[ { _id: { Salary_Slab: 'Above 60K' }, count: 3 },
  { _id: { Salary_Slab: '30K-60K' }, count: 1 },
  { _id: { Salary_Slab: 'Under 30K' }, count: 2 } ]