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

Conteggio gruppi con MongoDB utilizzando il framework di aggregazione

Per accogliere i potenziali duplicati, devi usare due $group operazioni:

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

Fornisce un risultato con un formato di:

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