Package com.mongodb.client
Interface MapReduceIterable<TResult>
-
- Type Parameters:
TResult
- The type of the result.
- All Superinterfaces:
Iterable<TResult>
,MongoIterable<TResult>
public interface MapReduceIterable<TResult> extends MongoIterable<TResult>
Iterable for map-reduce.By default the
MapReduceIterable
returns the results inline. You can write map-reduce output to a collection by using thecollectionName(String)
method.- Since:
- 3.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description MapReduceIterable<TResult>
action(MapReduceAction action)
Specify theMapReduceAction
to be used when writing to a collection.MapReduceIterable<TResult>
batchSize(int batchSize)
Sets the number of documents to return per batch.MapReduceIterable<TResult>
bypassDocumentValidation(Boolean bypassDocumentValidation)
Sets the bypass document level validation flag.MapReduceIterable<TResult>
collation(Collation collation)
Sets the collation optionsMapReduceIterable<TResult>
collectionName(String collectionName)
Sets the collectionName for the output of the MapReduceMapReduceIterable<TResult>
databaseName(String databaseName)
Sets the name of the database to output into.MapReduceIterable<TResult>
filter(Bson filter)
Sets the query filter to apply to the query.MapReduceIterable<TResult>
finalizeFunction(String finalizeFunction)
Sets the JavaScript function that follows the reduce method and modifies the output.MapReduceIterable<TResult>
jsMode(boolean jsMode)
Sets the flag that specifies whether to convert intermediate data into BSON format between the execution of the map and reduce functions.MapReduceIterable<TResult>
limit(int limit)
Sets the limit to apply.MapReduceIterable<TResult>
maxTime(long maxTime, TimeUnit timeUnit)
Sets the maximum execution time on the server for this operation.MapReduceIterable<TResult>
nonAtomic(boolean nonAtomic)
Sets if the post-processing step will prevent MongoDB from locking the database.MapReduceIterable<TResult>
scope(Bson scope)
Sets the global variables that are accessible in the map, reduce and finalize functions.MapReduceIterable<TResult>
sharded(boolean sharded)
Sets if the output database is shardedMapReduceIterable<TResult>
sort(Bson sort)
Sets the sort criteria to apply to the query.void
toCollection()
Aggregates documents to a collection according to the specified map-reduce function with the given options, which must specify a non-inline result.MapReduceIterable<TResult>
verbose(boolean verbose)
Sets whether to include the timing information in the result information.-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Method Detail
-
toCollection
void toCollection()
Aggregates documents to a collection according to the specified map-reduce function with the given options, which must specify a non-inline result.- Throws:
IllegalStateException
- if a collection name to write the results to has not been specified- Since:
- 3.4
- See Also:
collectionName(String)
-
collectionName
MapReduceIterable<TResult> collectionName(String collectionName)
Sets the collectionName for the output of the MapReduceThe default action is replace the collection if it exists, to change this use
action(com.mongodb.client.model.MapReduceAction)
.- Parameters:
collectionName
- the name of the collection that you want the map-reduce operation to write its output.- Returns:
- this
-
finalizeFunction
MapReduceIterable<TResult> finalizeFunction(@Nullable String finalizeFunction)
Sets the JavaScript function that follows the reduce method and modifies the output.- Parameters:
finalizeFunction
- the JavaScript function that follows the reduce method and modifies the output.- Returns:
- this
- MongoDB documentation
- Requirements for the finalize Function
-
scope
MapReduceIterable<TResult> scope(@Nullable Bson scope)
Sets the global variables that are accessible in the map, reduce and finalize functions.- Parameters:
scope
- the global variables that are accessible in the map, reduce and finalize functions.- Returns:
- this
- MongoDB documentation
- mapReduce
-
sort
MapReduceIterable<TResult> sort(@Nullable Bson sort)
Sets the sort criteria to apply to the query.- Parameters:
sort
- the sort criteria, which may be null.- Returns:
- this
- MongoDB documentation
- Sort
-
filter
MapReduceIterable<TResult> filter(@Nullable Bson filter)
Sets the query filter to apply to the query.- Parameters:
filter
- the filter to apply to the query.- Returns:
- this
- MongoDB documentation
- Filter
-
limit
MapReduceIterable<TResult> limit(int limit)
Sets the limit to apply.- Parameters:
limit
- the limit, which may be null- Returns:
- this
- MongoDB documentation
- Limit
-
jsMode
MapReduceIterable<TResult> jsMode(boolean jsMode)
Sets the flag that specifies whether to convert intermediate data into BSON format between the execution of the map and reduce functions. Defaults to false.- Parameters:
jsMode
- the flag that specifies whether to convert intermediate data into BSON format between the execution of the map and reduce functions- Returns:
- jsMode
- MongoDB documentation
- mapReduce
-
verbose
MapReduceIterable<TResult> verbose(boolean verbose)
Sets whether to include the timing information in the result information.- Parameters:
verbose
- whether to include the timing information in the result information.- Returns:
- this
-
maxTime
MapReduceIterable<TResult> maxTime(long maxTime, TimeUnit timeUnit)
Sets the maximum execution time on the server for this operation.- Parameters:
maxTime
- the max timetimeUnit
- the time unit, which may not be null- Returns:
- this
- MongoDB documentation
- Max Time
-
action
MapReduceIterable<TResult> action(MapReduceAction action)
Specify theMapReduceAction
to be used when writing to a collection.- Parameters:
action
- anMapReduceAction
to perform on the collection- Returns:
- this
-
databaseName
MapReduceIterable<TResult> databaseName(@Nullable String databaseName)
Sets the name of the database to output into.- Parameters:
databaseName
- the name of the database to output into.- Returns:
- this
- MongoDB documentation
- output with an action
-
sharded
MapReduceIterable<TResult> sharded(boolean sharded)
Sets if the output database is sharded- Parameters:
sharded
- if the output database is sharded- Returns:
- this
- MongoDB documentation
- output with an action
-
nonAtomic
MapReduceIterable<TResult> nonAtomic(boolean nonAtomic)
Sets if the post-processing step will prevent MongoDB from locking the database. Valid only with theMapReduceAction.MERGE
orMapReduceAction.REDUCE
actions.- Parameters:
nonAtomic
- if the post-processing step will prevent MongoDB from locking the database.- Returns:
- this
- MongoDB documentation
- output with an action
-
batchSize
MapReduceIterable<TResult> batchSize(int batchSize)
Sets the number of documents to return per batch.- Specified by:
batchSize
in interfaceMongoIterable<TResult>
- Parameters:
batchSize
- the batch size- Returns:
- this
- MongoDB documentation
- Batch Size
-
bypassDocumentValidation
MapReduceIterable<TResult> bypassDocumentValidation(@Nullable Boolean bypassDocumentValidation)
Sets the bypass document level validation flag.Note: This only applies when an $out stage is specified
.
-
collation
MapReduceIterable<TResult> collation(@Nullable Collation collation)
Sets the collation optionsA null value represents the server default.
- Parameters:
collation
- the collation options to use- Returns:
- this
- Since:
- 3.4
- Since server release
- 3.4
-
-