sql >> Databasteknik >  >> NoSQL >> MongoDB

Gruppräkning med MongoDB med hjälp av aggregeringsramverk

För att tillgodose potentiella dubbletter måste du använda två $group operationer:

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

Ger ett resultat med formatet:

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


  1. mongodb typ byt till array

  2. ställ in expire-nyckeln vid en viss tidpunkt när du använder Spring caching med Redis

  3. Avinstallera Redis på Mac OSX. Äldre version körs efter installation av uppdatering

  4. Mongoid:hitta genom Array of ids