함수를 포함하는 범위 DBObject를 만드는 Java 드라이버를 통해 MongoDB 맵 축소 작업을 실행하는 방법입니다.MongoDB java 드라이버에서 Mapreduce 명령 범위; 범위에 함수 추가
범위에서 전달 된 유틸리티 함수가있는 자바 스크립트에서 내 맵 축소 구성을 실행할 수는 있지만 자바 드라이버를 사용하여이를 수행하는 방법을 알 수 없습니다.
I 설정 범위를 인식 할 수 mapReduceCommand의
c.addExtraOption("scope",new BasicDBObject().append('average',function(){ return false;}));
나는 매퍼를 얻을 수 없다 그러나/감속기를 사용하여 범위 구성 요소 '예' 함수로 평균. 따옴표를 사용하면 map reduce context가 문자열을 생각하지만 그렇지 않다면 스코프 구성 요소를 구문 분석 할 수없는 것처럼 보입니다.
Java 드라이버를 통해 범위 구성 요소에서 함수를 가져 오는 방법은 무엇입니까?
Ren의 답변 덕분에 다음은 기능이있는 mongodb java 드라이버의 범위를 설정하는 스프링 빈 구성입니다.
<util:map id="mrScope"
key-type="java.lang.String"
value-type="java.lang.Object">
<entry key="buckets"><bean class="com.mongodb.util.JSON" factory-method="parse"><constructor-arg value="[0,10,15,20,25,30,35,40,45,50,55,60,65]"/></bean></entry>
<entry key="average">
<bean class="org.bson.types.CodeWScope">
<constructor-arg value="function() {var s = 0;for (var i = 0; i > arguments.length; i++) s += arguments[i];return s/arguments.length;}"/>
<constructor-arg><bean class="org.bson.BasicBSONObject"/></constructor-arg>
</bean>
</entry>
지도를 범위 객체로 사용하는 방법과 같은 자세한 정보를 제공해 주실 수 있습니까? 가능합니까? – gsuresh92