2012-05-14 2 views
1

저는 몽고를 사용하여 mapreducing을하고 있습니다. 때로는 항상 그런 것은 아니지만 제 축소 배열의 첫 번째 요소는 bson 객체로 내부에 또 다른 축소 배열이 있습니다. 내가 처리 한 방법은 배열을 외부 배열 결과와 결합하는 것이 었습니다.왜 MongoDB의 map/reduce가 때때로 reduce 함수의 일부로 객체를 반환합니까?

필자는 왜 그런 일이 벌어지는지는 알지 못하며 문서를 찾을 수 없습니다. 아무도 올바른 방향으로 나를 가리킬 수 그래서 내가 제대로 다루고있어?

답변

2

http://www.mongodb.org/display/DOCS/MapReduce#MapReduce-ReduceFunction (귀하는 신중하게 읽어야합니다.) 인용 부호로 둘러싼 부분을 참조하십시오 :

"결과 문서는 map 함수가 내 보낸 문서와 구조가 동일합니다. 이는 reduce 함수가 주어진 키에 대해 실행될 때 처리가 보장되지 않기 때문에 중요합니다. 그 키 (또는 사용자 이름)에 대한 모든 단일 값. 사실, reduce 함수는 두 번 이상 실행되어야 할 수도 있습니다. "

기본적으로 reduce는 각 "키"에서 "한 번에"실행되지 않지만 이미 처리 된 결과로 새로운 결과를 처리하기 위해 "점진적으로"호출 될 수 있습니다.

관련 문제