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

Gruppenzählung mit MongoDB unter Verwendung des Aggregationsframeworks

Um den potenziellen Duplikaten Rechnung zu tragen, müssen Sie zwei $group verwenden Operationen:

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

Liefert ein Ergebnis im Format:

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