CouchDBインスタンスに、次のデータを含む多数のドキュメントがあります。
{
"_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]);
}
(reduceを使用するだけです_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/から)
ありがとう!