sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB $grupp och explicit gruppbildning med beräknad kolumn

Du är på rätt spår. I det här fallet måste du kapsla $cond operatörer som denna:

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}}})

resultat:

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



  1. Mongodb Försöker få utvalda fält att returnera från aggregat

  2. Det gick inte att starta Redis-servern på grund av konfigurationsfilfel

  3. lägga upp ett fält i ett underdokument i en array efter index i MongoDB

  4. MongoDB geospatialt index på en array (multikey + geospatial)