Package com.mongodb

Class 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
    • 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 inline
        type - the type of output
        query - 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.6
        timeUnit - 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 for ReadPreference 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
        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