具有复杂密钥的couchdb reduce

具有复杂密钥的couchdb reduce,couchdb,mapreduce,Couchdb,Mapreduce,假设我们在couchdb中有一些文档,如下所示 { page: 'home', country: 'EN', timestamp: 15448 } { page: 'search', country: 'FR', timestamp: 15448 } { page: 'search', country: 'EN', timestamp: 15448 } { page: 'home', country: 'DE', timestamp: 15457 } 每个文档都表示一个国家/地区的页面视图,并

假设我们在couchdb中有一些文档,如下所示

{ page: 'home', country: 'EN', timestamp: 15448 }
{ page: 'search', country: 'FR', timestamp: 15448 }
{ page: 'search', country: 'EN', timestamp: 15448 }
{ page: 'home', country: 'DE', timestamp: 15457 }
每个文档都表示一个国家/地区的页面视图,并带有给定的时间戳。我想做的是查询这些文档,对于给定的页面和时间戳范围,获取该范围内每个国家的页面浏览量

我想做的是这个映射函数

function (doc) {
  emit([doc.page, doc.timestamp, doc.country], 1)
}
\u sum
作为reduce函数


我可以用例如
startkey=[“home”,15448]&endkey=[“home”,15448,{}]
来查询视图,但这会返回每个国家每天的页面浏览量,这比我需要的更多。(只需给定时间段内每个国家的浏览量)。

只需不发布国家信息即可

function (doc)
{
  emit([doc.page, doc.timestamp], 1)
}
还原函数

function (keys, value)
{
  return sum(value);
}

这与emit([doc.page,doc.timestamp,doc.country],1)有何不同?两者都会产生每个国家/地区每天的页面浏览量,而不是给定时期内每个国家/地区的页面浏览量。