2013-05-31 44 views
0

我也有类似的例子代码在这里http://mongoosejs.com/docs/api.html#model_Model.mapReduce猫鼬MapReduce的最高价值观的

的主要区别是,我想只能保存其中有五大内的值。

例如,如果所得的MapReduce集合生成以下内容:

{ 
    "_id": "1", 
    "value": 6 
} 
{ 
    "_id": "2", 
    "value": 32 
} 
{ 
    "_id": "3", 
    "value": 1 
} 
{ 
    "_id": "4", 
    "value": 5 
} 
{ 
    "_id": "5", 
    "value": 6 
} 
{ 
    "_id": "6", 
    "value": 7 
} 

什么将是唯一保存这些都是前五名MapReduce的结果中值的关键文档的最佳方法是什么?

我使用sort选项尝试,但产生这个错误:

[MongoError: exception: could not create cursor over [db].[collection] for query : {} sort : { value: 1 }] 

回答

0

起初我想,也许你应该通过在“排序” ARG到过滤器的对象,但后来我碰到这个来了: MongoDB, MapReduce and sorting

+0

这可能是一个好主意,可以多解释一下你的答案(也许包括你引用的链接中的一些发现等):) – summea

+1

良好的输入。 8 ^)我是MR新手,但对mongo查询非常熟悉,所以起初似乎解决方法是先向MR传递一个查询参数,例如,分类();但是,传递sort()内联是[不支持](https://jira.mongodb.org/browse/SERVER-3973)。引用的链接不是一种解决方案,更有助于识别固有的障碍。解决方案仍然包括我,因此M/R noobness,但个人而言,取决于时间的可用性,我可能会退出M/R并与http://docs.mongodb.org/manual/reference/aggregation/排序/#stage._S_sort – martenc