Package com.mongodb
Class MapReduceCommand
-
- com.mongodb.MapReduceCommand
-
public class MapReduceCommand extends
This class groups the argument for a map/reduce operation and can build the underlying command object- MongoDB documentation
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MapReduceCommand.OutputType
Represents the different options available for outputting the results of a map-reduce operation.
-
Constructor Summary
Constructors Constructor Description MapReduceCommand(DBCollection inputCollection, map, reduce, 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 getBypassDocumentValidation()
Gets whether to bypass document validation, or null if unspecified.Collation
getCollation()
Returns the collationgetFinalize()
Gets the Finalize JS FunctiongetInput()
Get the name of the collection the MapReduce will read fromgetJsMode()
Gets the (optional) JavaScript modeint
getLimit()
Gets the (optional) limit on inputgetMap()
Get the map function, as a JS Stringlong
timeUnit)
Gets the max execution time for this command, in the given time unit.getOutputDB()
Gets the (optional) database name where the output collection should residegetOutputTarget()
Gets the output target (name of collection to save to) This value is nullable only if OutputType is set to INLINEMapReduceCommand.OutputType
getOutputType()
Gets the OutputType for this instance.DBObject
getQuery()
Gets the query to run for this MapReduce jobReadPreference
getReadPreference()
Gets the read preferencegetReduce()
Gets the reduce function, as a JS String<,>
getScope()
Gets the (optional) JavaScript scopeDBObject
getSort()
Gets the (optional) sort specification objectisVerbose()
Gets the verbosity of the MapReduce job.void
bypassDocumentValidation)
Sets whether to bypass document validation.void
setCollation(Collation collation)
Sets the collation optionsvoid
finalize)
Sets the Finalize JS Functionvoid
jsMode)
Sets the (optional) JavaScript Modevoid
setLimit(int limit)
Sets the (optional) limit on inputvoid
setMaxTime(long maxTime, timeUnit)
Sets the max execution time for this command, in the given time unit.void
outputDB)
Sets the (optional) database name where the output collection should residevoid
setReadPreference(ReadPreference preference)
Sets the read preference for this command.void
<,> scope)
Sets the (optional) JavaScript scopevoid
setSort(DBObject sort)
Sets the (optional) sort specification objectvoid
verbose)
Sets the verbosity of the MapReduce job, defaults to 'true'DBObject
toDBObject()
Turns this command into a DBObject representation of this map reduce command.toString()
-
-
-
Constructor Detail
-
MapReduceCommand
public MapReduceCommand(DBCollection inputCollection, map, reduce, @Nullable 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
-
-
Method Detail
-
setVerbose
public void setVerbose( verbose)
Sets the verbosity of the MapReduce job, defaults to 'true'- Parameters:
verbose
- The verbosity level.
-
isVerbose
public isVerbose()
Gets the verbosity of the MapReduce job.- Returns:
- the verbosity level.
-
getInput
public getInput()
Get the name of the collection the MapReduce will read from- Returns:
- name of the collection the MapReduce will read from
-
getMap
public getMap()
Get the map function, as a JS String- Returns:
- the map function (as a JS String)
-
getReduce
public getReduce()
Gets the reduce function, as a JS String- Returns:
- the reduce function (as a JS String)
-
getOutputTarget
@Nullable public 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 getFinalize()
Gets the Finalize JS Function- Returns:
- The finalize function (as a JS String).
-
setFinalize
public void setFinalize(@Nullable 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)
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
-
setMaxTime
public void setMaxTime(long maxTime, 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
-
getScope
@Nullable public <,> getScope()
Gets the (optional) JavaScript scope- Returns:
- The JavaScript scope
-
setScope
public void setScope(@Nullable <,> scope)
Sets the (optional) JavaScript scope- Parameters:
scope
- The JavaScript scope
-
getJsMode
@Nullable public getJsMode()
Gets the (optional) JavaScript mode- Returns:
- The JavaScript mode
- Since:
- 2.13
-
setJsMode
public void setJsMode(@Nullable 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 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 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 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
-
setBypassDocumentValidation
public void setBypassDocumentValidation(@Nullable bypassDocumentValidation)
Sets whether to bypass document validation.- Parameters:
bypassDocumentValidation
- whether to bypass document validation, or null if unspecified- Since:
- 2.14
- Since server release
-
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 forReadPreference
for 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
-
setCollation
@Nullable public void setCollation(Collation collation)
Sets the collation options- Parameters:
collation
- the collation options- Since:
- 3.4
- Since server release
-
toString
public toString()
- Overrides:
in class
-
-