Tri après Map/reduce avec inline résultat

Après avoir essayé ce solution et d'obtenir un pas de plus j'ai une autre question concernant l'mongodb.

Ma question est:

Comment puis-je trier la sortie de:

doc = {_id : 16, days : { 1 : 123, 2 : 129, 3 : 140, 4 : 56, 5 : 57, 6 : 69, 7 : 80 }};
db.so.insert(doc);

map = function() {
  emit(this._id, this.days["1"]);
  emit(this._id, this.days["3"]); 
  emit(this._id, this.days["7"]); 
}

reduce = function (k, vals) {
  var sum = 0;
  vals.forEach(function (v) {sum += v;});
  return sum;
}

res = db.so.mapReduce(map, reduce, {out : {inline : 1}});
res.find();

La Sortie ressemble à ceci:

"results" : [
    {
            "_id" : 16,
            "value" : 225
    },
    {
            "_id" : 33,
            "value" : 230
    },
    {
            "_id" : 302,
            "value" : 274
    }

]

Maintenant, je veux trier le résultat avec:

res.find().sort({ "results.value":-1 });

qui entraîne cette erreur:

Sat Mar 31 01:15:45 TypeError: res.find().sort({'results.value':-1}) is not a function (shell):1

Quelqu'un peut m'aider ?

OriginalL'auteur MadeOfSport | 2012-03-30