Mapreduce 使用不同的地图键&;减少

Mapreduce 使用不同的地图键&;减少,mapreduce,couchdb,Mapreduce,Couchdb,我有一个当前的coach数据库,它存储在不同节点上发生的活动。我目前正在使用以下方法计算每个节点上发生了多少活动: 地图: function(doc) { emit(doc.node._id, 1); } _sum 减少: function(doc) { emit(doc.node._id, 1); } _sum 这太棒了!现在,我想允许它可以通过时间戳进行过滤。我的第一个想法是将地图更改为: function(doc) { emit([doc.node._id, doc.c

我有一个当前的coach数据库,它存储在不同节点上发生的活动。我目前正在使用以下方法计算每个节点上发生了多少活动:

地图:

function(doc) {
  emit(doc.node._id, 1);
}
_sum
减少:

function(doc) {
  emit(doc.node._id, 1);
}
_sum
这太棒了!现在,我想允许它可以通过时间戳进行过滤。我的第一个想法是将地图更改为:

function(doc) {
  emit([doc.node._id, doc.created], 1);
}
然而,当然,它在键中添加了
created
标志,因此reduce不再像我所希望的那样工作

是否有一种方法可以通过
节点进行映射。_id
创建的
,但只通过
节点进行缩减。_id


编辑:我忘了提到,我研究了使用
组级
,但是这只适用于一个键,我需要能够将多个键传递到此索引。

进一步搜索后,看起来这是不可能的:您能提供一个您想要排序的时间戳的示例值吗?它是unix时间戳(一个表示自1970年以来秒数的整数)。这很好。如果我理解正确,您希望能够询问“在特定节点上发生了多少活动”?更重要的是“在这些时间戳之间在这些节点上发生了多少活动(多个
\u id
s)”