0
我有一个CouchDB实例一堆文件有以下数据:CouchDB的集团BY值,日期范围
{
"_id": "[string based ID generated by CouchDB]",
"action": "view",
"group": [Integer representing a group number],
"date": [Javascript timestamp]
}
我可以通过组和动作使用下面对数据进行分组,并获得总数每组动作:
function(doc) {
emit([doc.group, doc.action], [1, 1]);
}
(随着减少简单为_sum
)。
问题是,这会从所有组获取数据,而我只想要来自单个组(例如组1)的数据。
另外,我知道我可以按照日期进行过滤,但是如何将它与上面的按日期和组ID过滤?
function(doc) {
var then = new Date(Date.parse(doc['Event Date']));
var fatalities = 0;
if (doc['Total Fatal Injuries']!="") {
fatalities = parseInt(doc['Total Fatal Injuries']);
}
emit([then.getFullYear(), then.getMonth()], [1, fatalities]);
}
(从https://cloudant.com/blog/mapreduce-from-the-basics-to-the-actually-useful/)
谢谢!
是的,就是这样 - 我需要将开始和结束键指定为相同的组ID,并使用endkey中的{}'指定所有其他键的“全部”。 –