如果使用以下内容
Analytic.collection.map_reduce(map, reduce, :query => {:page => subclass_name}, :sort => [[:pageviews, Mongo::DESCENDING]]).find.to_a
它不会排序pageviews
.或者,如果是哈希数组:
Analytic.collection.map_reduce(map, reduce, :query => {:page => subclass_name}, :sort => [{:pageviews => Mongo::DESCENDING}]).find.to_a
它也不起作用.我认为它必须是一个数组的原因是指定要排序的第一个字段,等等.我也尝试了一个平面数组而不是像上面第一个代码中列出的数组数组,它也没有工作.
它不起作用吗?这是规范:http://api.mongodb.org/ruby/current/Mongo/Collection.html#map_reduce-instance_method
你想做什么?排序实际上只与限制一起使用:它在地图之前应用,因此您可以只使用MapReduce最新的20个项目.如果您尝试对结果进行排序,则可以对输出集合执行常规排序.