Package com.mongodb
Class MapReduceCommand
- java.lang.Object
-
- com.mongodb.MapReduceCommand
-
public class MapReduceCommand extends Object
This class groups the argument for a map/reduce operation and can build the underlying command object- MongoDB documentation
- Map-Reduce
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMapReduceCommand.OutputTypeRepresents the different options available for outputting the results of a map-reduce operation.
-
Constructor Summary
Constructors Constructor Description MapReduceCommand(DBCollection inputCollection, String map, String reduce, String outputCollection, MapReduceCommand.OutputType type, DBObject query)Represents the command for a map reduce operation Runs the command in REPLACE output type to a named collection
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BooleangetBypassDocumentValidation()Gets whether to bypass document validation, or null if unspecified.CollationgetCollation()Returns the collationStringgetFinalize()Gets the Finalize JS FunctionStringgetInput()Get the name of the collection the MapReduce will read fromBooleangetJsMode()Gets the (optional) JavaScript modeintgetLimit()Gets the (optional) limit on inputStringgetMap()Get the map function, as a JS StringlonggetMaxTime(TimeUnit timeUnit)Gets the max execution time for this command, in the given time unit.StringgetOutputDB()Gets the (optional) database name where the output collection should resideStringgetOutputTarget()Gets the output target (name of collection to save to) This value is nullable only if OutputType is set to INLINEMapReduceCommand.OutputTypegetOutputType()Gets the OutputType for this instance.DBObjectgetQuery()Gets the query to run for this MapReduce jobReadPreferencegetReadPreference()Gets the read preferenceStringgetReduce()Gets the reduce function, as a JS StringMap<String,Object>getScope()Gets the (optional) JavaScript scopeDBObjectgetSort()Gets the (optional) sort specification objectBooleanisVerbose()Gets the verbosity of the MapReduce job.voidsetBypassDocumentValidation(Boolean bypassDocumentValidation)Sets whether to bypass document validation.voidsetCollation(Collation collation)Sets the collation optionsvoidsetFinalize(String finalize)Sets the Finalize JS FunctionvoidsetJsMode(Boolean jsMode)Sets the (optional) JavaScript ModevoidsetLimit(int limit)Sets the (optional) limit on inputvoidsetMaxTime(long maxTime, TimeUnit timeUnit)Sets the max execution time for this command, in the given time unit.voidsetOutputDB(String outputDB)Sets the (optional) database name where the output collection should residevoidsetReadPreference(ReadPreference preference)Sets the read preference for this command.voidsetScope(Map<String,Object> scope)Sets the (optional) JavaScript scopevoidsetSort(DBObject sort)Sets the (optional) sort specification objectvoidsetVerbose(Boolean verbose)Sets the verbosity of the MapReduce job, defaults to 'true'DBObjecttoDBObject()Turns this command into a DBObject representation of this map reduce command.StringtoString()
-
-
-
Constructor Detail
-
MapReduceCommand
public MapReduceCommand(DBCollection inputCollection, String map, String reduce, @Nullable String outputCollection, MapReduceCommand.OutputType type, DBObject query)
Represents the command for a map reduce operation Runs the command in REPLACE output type to a named collection- Parameters:
inputCollection- collection to use as the source documents to perform the map reduce operation.map- a JavaScript function that associates or "maps" a value with a key and emits the key and value pair.reduce- a JavaScript function that "reduces" to a single object all the values associated with a particular key.outputCollection- optional - leave null if want to get the result inlinetype- the type of outputquery- specifies the selection criteria using query operators for determining the documents input to the map function.- MongoDB documentation
- Map Reduce Command
-
-
Method Detail
-
setVerbose
public void setVerbose(Boolean verbose)
Sets the verbosity of the MapReduce job, defaults to 'true'- Parameters:
verbose- The verbosity level.
-
isVerbose
public Boolean isVerbose()
Gets the verbosity of the MapReduce job.- Returns:
- the verbosity level.
-
getInput
public String getInput()
Get the name of the collection the MapReduce will read from- Returns:
- name of the collection the MapReduce will read from
-
getMap
public String getMap()
Get the map function, as a JS String- Returns:
- the map function (as a JS String)
-
getReduce
public String getReduce()
Gets the reduce function, as a JS String- Returns:
- the reduce function (as a JS String)
-
getOutputTarget
@Nullable public String getOutputTarget()
Gets the output target (name of collection to save to) This value is nullable only if OutputType is set to INLINE- Returns:
- The outputCollection
-
getOutputType
public MapReduceCommand.OutputType getOutputType()
Gets the OutputType for this instance.- Returns:
- The outputType.
-
getFinalize
@Nullable public String getFinalize()
Gets the Finalize JS Function- Returns:
- The finalize function (as a JS String).
-
setFinalize
public void setFinalize(@Nullable String finalize)
Sets the Finalize JS Function- Parameters:
finalize- The finalize function (as a JS String)
-
getQuery
@Nullable public DBObject getQuery()
Gets the query to run for this MapReduce job- Returns:
- The query object
-
getSort
@Nullable public DBObject getSort()
Gets the (optional) sort specification object- Returns:
- the Sort DBObject
-
setSort
public void setSort(@Nullable DBObject sort)
Sets the (optional) sort specification object- Parameters:
sort- The sort specification object
-
getLimit
public int getLimit()
Gets the (optional) limit on input- Returns:
- The limit specification object
-
setLimit
public void setLimit(int limit)
Sets the (optional) limit on input- Parameters:
limit- The limit specification object
-
getMaxTime
public long getMaxTime(TimeUnit timeUnit)
Gets the max execution time for this command, in the given time unit.- Parameters:
timeUnit- the time unit to return the value in.- Returns:
- the maximum execution time
- Since:
- 2.12.0
- Since server release
- 2.6
-
setMaxTime
public void setMaxTime(long maxTime, TimeUnit timeUnit)Sets the max execution time for this command, in the given time unit.- Parameters:
maxTime- the maximum execution time. A non-zero value requires a server version >= 2.6timeUnit- the time unit that maxTime is specified in- Since:
- 2.12.0
- Since server release
- 2.6
-
getScope
@Nullable public Map<String,Object> getScope()
Gets the (optional) JavaScript scope- Returns:
- The JavaScript scope
-
setScope
public void setScope(@Nullable Map<String,Object> scope)
Sets the (optional) JavaScript scope- Parameters:
scope- The JavaScript scope
-
getJsMode
@Nullable public Boolean getJsMode()
Gets the (optional) JavaScript mode- Returns:
- The JavaScript mode
- Since:
- 2.13
-
setJsMode
public void setJsMode(@Nullable Boolean jsMode)
Sets the (optional) JavaScript Mode- Parameters:
jsMode- Specifies whether to convert intermediate data into BSON format between the execution of the map and reduce functions- Since:
- 2.13
-
getOutputDB
@Nullable public String getOutputDB()
Gets the (optional) database name where the output collection should reside- Returns:
- the name of the database the result is stored in, or null.
-
setOutputDB
public void setOutputDB(@Nullable String outputDB)
Sets the (optional) database name where the output collection should reside- Parameters:
outputDB- the name of the database to send the Map Reduce output to
-
getBypassDocumentValidation
@Nullable public Boolean getBypassDocumentValidation()
Gets whether to bypass document validation, or null if unspecified. The default is null.- Returns:
- whether to bypass document validation, or null if unspecified.
- Since:
- 2.14
- Since server release
- 3.2
-
setBypassDocumentValidation
public void setBypassDocumentValidation(@Nullable Boolean bypassDocumentValidation)
Sets whether to bypass document validation.- Parameters:
bypassDocumentValidation- whether to bypass document validation, or null if unspecified- Since:
- 2.14
- Since server release
- 3.2
-
toDBObject
public DBObject toDBObject()
Turns this command into a DBObject representation of this map reduce command.- Returns:
- a DBObject that contains the MongoDB document representation of this command.
-
setReadPreference
public void setReadPreference(@Nullable ReadPreference preference)
Sets the read preference for this command. See the * documentation forReadPreferencefor more information.- Parameters:
preference- Read Preference to use
-
getReadPreference
@Nullable public ReadPreference getReadPreference()
Gets the read preference- Returns:
- the readPreference
-
getCollation
@Nullable public Collation getCollation()
Returns the collation- Returns:
- the collation
- Since:
- 3.4
- Since server release
- 3.4
-
setCollation
@Nullable public void setCollation(Collation collation)
Sets the collation options- Parameters:
collation- the collation options- Since:
- 3.4
- Since server release
- 3.4
-
-