カウチ データベースには 2 種類のドキュメントがあります。イベントとオカレンスがあります。1 つのイベントには多くのオカレンスがあります。
イベント:
{
"_id": "49bb92b8896515a2994e524b38a041d3",
"type": "Event",
"eventID": 1234,
"area": "m1"
}
発生:
{
"_id": "49bb92b8896515a2994e524b38a041d4",
"type": "Occurence",
"occurenceID": 7890,
"eventID": 1234,
"date": "2013-01-01"
}
地域名と日付の範囲でフィルター処理された、日付ごとの発生数を見つける必要があります。SQL では、次のクエリを使用します。
SELECT Date, count(*)
FROM Event INNER JOIN Occurence ON Occurence.EventID = Event.EventID
WHERE Event.Area = "m1"
AND Occurence.Date BETWEEN '2013-01-01' AND '2013-02-01'
GROUP BY Date
複数のクエリを実行してもかまいませんが、データベースには 300,000 を超えるオカレンス ドキュメントがあり (そしてその 10 倍に増えるでしょう)、できるだけ少ないドキュメントを変換して結果を取得する必要があります。このcouchdbをクエリするアプリはnode.jsで書かれています。