我有一个带有以下地图功能的 couchdb 视图:
function(doc) {
if (doc.date_of_operation) {
date_triple = doc.date_of_operation.split("/");
d = new Date(date_triple[2], date_triple[1]-1, date_triple[0], 0, 0, 0, 0)
emit([d, doc.name], 1);
}
}
当我为此发出 GET 请求时,我得到了整个视图的数据 (2.8MB):
$ curl -X GET http://somehost:5984/ops-db/_design/ops-views/_view/counts
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2751k 0 2751k 0 0 67456 0 --:--:-- 0:00:41 --:--:-- 739k
但是,当我添加一个 reduce 函数时:
function (key, values, rereduce) {
return sum(values);
}
使用 curl 时我不再获得任何数据:
$ curl -X GET http://somehost:5984/ops-db/_design/ops-views/_view/counts
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 42 0 42 0 0 7069 0 --:--:-- --:--:-- --:--:-- 8400
结果如下所示:
{"rows":[
{"key":null,"value":27065}
]}
使用 Futon 界面添加了此视图、地图和缩减功能,当在那里选中缩减复选框时,我确实为每个“日期、名称”对获得一行,其中包含为该对累积的值。通过 GET 查询时会发生什么变化?