È un modo per eseguire una mappa MongoDB ridurre il lavoro tramite il driver java in cui si crea un oggetto DBObject che contiene funzioni.In MongoDB driver java Scopo del comando Mapreduce; aggiungere funzioni a Scope
Posso eseguire la mia mappa ridurre la configurazione in javascript dove il campo di applicazione passato contiene funzioni di utilità, ma non riesco a capire come farlo con il driver java.
ho configurato l'ambito utilizzando del mapReduceCommand
c.addExtraOption("scope",new BasicDBObject().append('average',function(){ return false;}));
Tuttavia non posso ottenere i mapper/riduttori di riconoscere la portata componente 'per esempio' media come una funzione. Se uso le virgolette, la mappa riduce il contesto e si ritiene che sia una stringa, ma in caso contrario, non riesco a far analizzare il componente scope.
Come si ottiene una funzione nel componente oscilloscopio tramite il driver java?
Grazie alla risposta di Ren, ecco una configurazione di bean di primavera per impostare uno scope per il driver java mongodb con una funzione.
<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>
Potete fornire ulteriori dettagli come utilizzare una mappa come oggetto di ambito .. È possibile? – gsuresh92