I는 다음과 같이 문서의 수 있습니다CouchDB를지도/배열에 감소
{userId: 123, msg:{ timestamp:123456, event:"actionA"} }
{userId: 123, msg:{ timestamp:123466, event:"actionB"} }
etc...
지도 FN :
emit(doc.userId, [doc.msg])
FN 감소 :
return [].concat.apply([], vs)
가이 기능은 내가 무엇을 기대해야 할 것을, 그래서 내가 같은 출력을 볼 수있을 줄 거라고 :
Key: 123, Value: [{timestamp:123456, event:"actionA"}, {timestamp:123466, event:"actionB"}, ...etc...]
을하지만, 나는 무엇입니까 오버플로 오류을 줄이기 위해 "출력 줄이기가 더 빨리 이루어져야합니다." 실제로 couchdb docs은 "경험적으로 환산 함수는 단일 스칼라 값으로 줄여야합니다."라고 말합니다. ... "CouchDB는"잘못된 방법 "을 줄이기 위해 사용하려고하면 경고 메시지를 표시합니다.
그래서 저는 Couch MR을 "잘못된 방법"이라고 생각합니다. 이런 종류의 계산을 수행하는 "올바른 방법"은 무엇입니까?