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

Nombre de groupes avec MongoDB en utilisant le cadre d'agrégation

Pour tenir compte des doublons potentiels, vous devez utiliser deux $group opérations :

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

Donne un résultat au format :

[ { cars_owned: 2, owner_id: 10 },
  { cars_owned: 1, owner_id: 11 } ]