couchdb中的密钥排序和mapreduce

couchdb中的密钥排序和mapreduce,couchdb,mapreduce,Couchdb,Mapreduce,我正在使用reduce视图来计算日期范围内的用户注释,而我并没有解决这个问题。日期范围选择正常-我创建数组键[YYYY,MM,DD,user\u id] 文档示例: { "_id": "1", "_rev": "1-84d3fa5f259c7b30c74028ca60a45f91", "body": "note text", "user_id": 666, "created_at": "Thu Apr 26 13:50:20 +0200 2010", } 地图功能

我正在使用reduce视图来计算日期范围内的用户注释,而我并没有解决这个问题。日期范围选择正常-我创建数组键[YYYY,MM,DD,user\u id]

文档示例:

{
   "_id": "1",
   "_rev": "1-84d3fa5f259c7b30c74028ca60a45f91",
   "body": "note text",
   "user_id": 666,
   "created_at": "Thu Apr 26 13:50:20 +0200 2010",
}
地图功能:

function(doc){
   var created = new Date(doc.created_at);
   emit([created.getFullYear(),created.getMonth()+1,created.getDate(),doc.user_id],doc);
}
_count
减少功能:

function(doc){
   var created = new Date(doc.created_at);
   emit([created.getFullYear(),created.getMonth()+1,created.getDate(),doc.user_id],doc);
}
_count
直到此确定-当我要为所选日期范围(例如从2010-02-02到2010-03-03)选择所有注释时:

reduce_view_name?startkey=[2010,02,01]&endkey=[2010,02,28,{}]&group_level=0
很容易选择sums notes/user/day-我将group_级别更改为4。 但是,如果我希望为选定的日期范围计数笔记,并且每个用户有一个笔记总数,那该怎么办?在本例中,每个用户有28行,但是如果有300个用户呢?如果每个人每天都在写,那么它将是300x28=7400行:

第二个选项是将用户id从最后一位替换为第一位,但在这种情况下,我需要了解id\u用户并分别为每个人进行选择


有人知道如何解决这个问题吗?:

是:添加另一个视图,该视图将地图视图中的键反转,以便用户名在前,日期在后。我知道这有点多余,但它工作起来很疯狂

是:添加另一个视图,该视图将地图视图中的键反转,以便用户名在前,日期在后。我知道这有点多余,但它工作起来很疯狂

您好,我是在两周前做的,正如我在提问结束时所写:第二个选项是将用户id从最后一位替换为第一位,但在这种情况下,我需要了解用户id,并分别为每个人进行选择。这不是我认为的另一个原因:-/Hi,我在两周前就这么做了,我在我的提问结束时写道:第二个选项是将用户id从最后一位替换为第一位,但在这种情况下,我需要知道用户id,并分别为每个人进行选择。我认为这不是另一个原因:-/