Requête d'agrégation dans Mongodb retourne domaine spécifique

Document De L'Échantillon:

{
    "_id" : ObjectId("53329dfgg43771e49538b4567"),
    "u" : {
        "_id" : ObjectId("532a435gs4c771edb168c1bd7"),
        "n" : "Salman khan",
        "e" : "[email protected]"
    },
    "ps" : 0,
    "os" : 1,
    "rs" : 0,
    "cd" : 1395685800,
    "ud" : 0
}

Requête:

db.collectiontmp.aggregate([
            {$match: {os:1}},
            {$project : { name:{$toUpper:"$u.e"} , _id:0 } },
            {$group: { _id: "$u._id",total: {$sum:1} }},
            {$sort: {total: -1}}, { $limit: 10 }
             ]);

J'ai besoin des choses suivantes à partir de la requête ci-dessus:

  1. Groupe par u._id
  2. Retourne le nombre total de documents et de courrier électronique à partir de l'enregistrement, comme indiqué ci-dessous:

    {
    "result":
    [
    {
    "email": "",
    "total": ""
    },
    {
    "email": "",
    "total": ""
    }
    ],
    "ok":
    1
    }

OriginalL'auteur Anubhav | 2014-08-21