Có cách nào để Thực thi bản đồ MongoDB giảm bớt công việc thông qua trình điều khiển java mà bạn tạo một phạm vi DBObject chứa các hàm.Trong MongoDB java driver Mapreduce phạm vi lệnh; Thêm chức năng vào Phạm vi
Tôi có thể thực thi cấu hình bản đồ của tôi giảm trong javascript nơi phạm vi được truyền trong chứa các chức năng tiện ích, nhưng tôi không thể tìm ra cách làm điều này với trình điều khiển java.
tôi thiết lập phạm vi sử dụng mapReduceCommand của
c.addExtraOption("scope",new BasicDBObject().append('average',function(){ return false;}));
Tuy nhiên tôi không thể có được những người vẽ bản đồ/hạ nhận ra phạm vi thành phần 'ví dụ' trung bình như một hàm. Nếu tôi sử dụng dấu ngoặc kép, bản đồ giảm ngữ cảnh nghĩ rằng nó là một String, nhưng nếu không, tôi dường như không thể làm cho phân tích thành phần phạm vi.
Làm cách nào để có được hàm trong thành phần phạm vi thông qua trình điều khiển java?
Nhờ câu trả lời của Ren, đây là cấu hình bean mùa xuân để thiết lập phạm vi cho trình điều khiển java mongodb bằng hàm.
<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>
Bạn có thể vui lòng cung cấp thêm chi tiết như cách sử dụng Map làm đối tượng phạm vi .. Có thể không? – gsuresh92