我正在尝试使用CouchDB作为我的数据库。 当我想从50000条记录中获取最大值时,我有问题。 找到最大值的最佳解决方案是什么?
我使用此reduce函数:
function (key, values, rereduce) {
var largest = Math.max.apply(Math, key);
return largest;
}
这是我的地图功能:
function(doc) {
if(doc.TYPE=="customer"){
emit(doc._id.substring(0,8), doc._id);
}
}
谢谢
答案 0 :(得分:1)
编写reduce函数时,您不应忘记考虑rereduce
parameter。但是,您实际上甚至不需要它有两个原因:
1)您可以在查询视图时使用descending=true
并获取最大的项目。 (所以你根本不需要减少一步)
2)你可以使用builtin reduce function _stats
并获得最大值,而无需编写自己的reduce函数。
使用具有reduce函数的map函数的优点是,您不仅可以获得最大值,还可以获取包含该值的文档。