在CouchDB中获得最大价值

时间:2014-03-19 16:48:11

标签: database couchdb max

我正在尝试使用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);
    }
}

谢谢

1 个答案:

答案 0 :(得分:1)

编写reduce函数时,您不应忘记考虑rereduce parameter。但是,您实际上甚至不需要它有两个原因:

1)您可以在查询视图时使用descending=true并获取最大的项目。 (所以你根本不需要减少一步)

2)你可以使用builtin reduce function _stats并获得最大值,而无需编写自己的reduce函数。

使用具有reduce函数的map函数的优点是,您不仅可以获得最大值,还可以获取包含该值的文档。