Si le message suivant est utiliséLe tri Map/Reduce de MongoDB fonctionne-t-il?
Analytic.collection.map_reduce(map, reduce,
:query => {:page => subclass_name},
:sort => [[:pageviews, Mongo::DESCENDING]]).find.to_a
il ne sera pas trier par pageviews
. Sinon, s'il s'agit d'un tableau de hachage:
Analytic.collection.map_reduce(map, reduce,
:query => {:page => subclass_name},
:sort => [{:pageviews => Mongo::DESCENDING}]).find.to_a
cela ne fonctionnera pas non plus. Je pense que la raison pour laquelle il doit s'agir d'un tableau est de spécifier le premier champ à trier, etc. J'ai également essayé un tableau plat au lieu d'un tableau comme dans le premier code listé ci-dessus et cela n'a pas fonctionné non plus .
Ça ne marche pas? Ceci est la spécification: http://api.mongodb.org/ruby/current/Mongo/Collection.html#map_reduce-instance_method
je vois. peut-être que la spécification peut mentionner que c'est avant la carte, pas pour les résultats finaux. aussi, pourquoi avons-nous besoin de trier quelque chose pour la carte/réduire? Dans les cas où je vois l'utilisation de map/reduce, peu importe l'ordre dans lequel les documents (enregistrements) se trouvent. –
Il s'agit de l'agrégation d'un sous-ensemble de vos données. Supposons que vous vouliez effectuer une agrégation sur les 500 dernières visites sur votre site. Vous pouvez faire un MapReduce sur votre collection de visiteurs avec un tri par date et une limite de 500. Sans tri, vous ne pourriez pas vraiment faire cela. – kristina