CouchDB减少功能

时间:2012-10-06 14:45:50

标签: couchdb reduce

我在CouchDB中定义了一个map函数,它生成如下所示的数据: -

 var data =
{"total_rows":10,"offset":0,"rows":[
    {"id":"338b79f07dfe8b3877b3aa41a5bb8a58","key":"2000-06-23T23:59:00+00:00","value":{"country":"United States"}},
    {"id":"338b79f07dfe8b3877b3aa41a5bb983e","key":"2000-06-23T23:59:00+00:00","value":{"country":"Norway"}},
    {"id":"338b79f07dfe8b3877b3aa41a5ddfefe","key":"2000-06-23T23:59:00+00:00","value":{"country":"Hungary"}},
    {"id":"338b79f07dfe8b3877b3aa41a5fe29d7","key":"2000-06-23T23:59:00+00:00","value":{"country":"United States"}},
    {"id":"b6ed02fb38d6506d7371c419751e8a14","key":"2000-06-23T23:59:00+00:00","value":{"country":"Germany"}},
    {"id":"b6ed02fb38d6506d7371c419753e20b6","key":"2000-06-23T23:59:00+00:00","value":{"country":"Hungary"}},
    {"id":"b6ed02fb38d6506d7371c419755f34ad","key":"2000-06-23T23:59:00+00:00","value":{"country":"United States"}},
    {"id":"b6ed02fb38d6506d7371c419755f3e17","key":"2000-06-23T23:59:00+00:00","value":{"country":"Germany"}},
    {"id":"338b79f07dfe8b3877b3aa41a506082f","key":"2003-01-08T19:34:00+00:00","value":{"country":"United Kingdom"}},
    {"id":"9366afb036bf8b63c9f45379bbe29509","key":"2003-01-08T19:34:00+00:00","value":{"":"United Kingdom"}}
]
}

我现在正在尝试创建reduce函数,生成如下所示的数据: -

{"rows":[
{"key":"United States","value":2},
{"key":"Norway","value":1},
{"key":"Hungary","value":2},
{"key":"Germany","value":2}
{"key":"United Kingdom","value":1}

]}

我需要能够在沙发中使用“StartKey”和“EndKey”参数来定义日期范围。这比我预期的要复杂。有人可以告诉我我的reduce函数应该是什么样子来处理这个吗?

此致

Carlskii

1 个答案:

答案 0 :(得分:0)

我担心使用map reduce会有一种常见的反模式。

请阅读Example 3, “Don’t use this, it’s an example broken on purpose”

相关问题