在添加新文档时,减少输出必须更快地缩小

时间:2016-09-16 08:33:13

标签: couchdb couchdb-futon

我在couchdb中有几个文档,每个文档都有一个cId字段,例如 -

{
   "_id": "ccf8a36e55913b7cf5b015d6c50009f7",
   "_rev": "8-586130996ad60ccef54775c51599e73f",
   "cId": 1,
   "Status": true
}

我有一个简单的视图,它尝试使用map和reduce函数返回cId的最大值,如下所示 -

地图

function(doc) {
   emit(null, doc.cId);
}

减少

function(key, values, rereduce){

 return Math.max.apply(null, values);
}

这样可以正常工作(输出为1),直到我在db中再添加一个cId = 2的文档。我期待输出为2,但它开始给出错误,因为“减少输出必须更快地收缩”。当我删除此文档时,事情又恢复正常了。这可能是什么问题?有没有其他方法可以实现这一目标?

注意:db中有更多视图,它们执行不同的角色,很少返回json。他们也开始失败了。

1 个答案:

答案 0 :(得分:1)

您只需使用内置的_stats reduce function即可获得最大值。它在" max"中返回字段。