MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Contagem de grupos com MongoDB usando estrutura de agregação


Para acomodar as duplicatas em potencial, você precisa usar dois $group operações:
db.test.aggregate([
    { $group: {
        _id: { owner_id: '$owner_id', car_id: '$car_id' }
    }},
    { $group: {
        _id: '$_id.owner_id',
        cars_owned: { $sum: 1 }
    }},
    { $project: {
        _id: 0,
        owner_id: '$_id',
        cars_owned: 1
    }}]
    , function(err, result){
        console.log(result);
    }
);

Dá um resultado com um formato de:
[ { cars_owned: 2, owner_id: 10 },
  { cars_owned: 1, owner_id: 11 } ]