Хорошо, это немного сложно:
После map_reduce()
возвращается объект Mongo::Collection
, но структура выглядит так:
[{"_id":123.0,"value":{"pageviews":3621.0,"timeOnPage":206024.0}},
{"_id":1320.0,"value":{"pageviews":6584.0,"timeOnPage":373195.0}},
...
]
сортировка, это должно быть:
Analytic.collection.map_reduce(map, reduce,
:query => {:page => subclass_name}).find({},
:sort => [['value.pageviews', Mongo::DESCENDING]])
обратите внимание на value.pageviews
часть.