나는 날짜 범위에 대한 사용자 메모를 계산하기 위해 축소보기를 만들고 있으며, 나는 꽤 해결되지 않은 문제 앞에 있습니다. 날짜 범위 선택이 괜찮습니다. 배열 키 [YYYY, MM, DD, user_id]를 만듭니다.couchdb의 키 정렬 및 mapreduce
문서 예 :
{
"_id": "1",
"_rev": "1-84d3fa5f259c7b30c74028ca60a45f91",
"body": "note text",
"user_id": 666,
"created_at": "Thu Apr 26 13:50:20 +0200 2010",
}
지도 기능이 OK 할 때까지
_count
- 내가 선택한 기간에 대한 모든 메모를 선택하고자 할 때, :
function(doc){
var created = new Date(doc.created_at);
emit([created.getFullYear(),created.getMonth()+1,created.getDate(),doc.user_id],doc);
}
기능을 감소 예 : 2010-02-02 ~ 2010-03-03 :
reduce_view_name?startkey=[2010,02,01]&endkey=[2010,02,28,{}]&group_level=0
메모/사용자/일 합계를 쉽게 선택할 수 있습니다. group_level을 4로 변경합니다. 그러나 사용자 당 하나의 메모 합계로 선택한 기간에 대해 계산 메모를 계산하려면 어떻게해야합니까? 이 경우 사용자 당 28 개의 행이 생기지 만 300 명의 사용자가 있다면 어떨까요? 300x28 = 7400 행 (모두가 매일 글을 쓸 것입니다 :).
두 번째 옵션은 마지막 위치에서 첫 번째로 user_id를 바꾸지 만,이 경우 id_user를 알아야하고 모든 사용자를 개별적으로 선택해야합니다.
는 그것을 해결하는 방법을 사람의 생각합니까 :
안녕하세요, 물음의 끝에 쓴대로 2 주 전 그것을했습니다 : 두 번째 옵션은 마지막 장소에서 첫 번째로 바꿉니다.이 경우에는 id_user를 알아야하고 별개로 선택해야합니다. . 내가 생각하는 또 다른 이유는 아니었다. - / – podolinek