T
- the operations result type.public class GroupOperation<T> extends java.lang.Object implements AsyncReadOperation<AsyncBatchCursor<T>>, ReadOperation<BatchCursor<T>>
Modifier and Type | Field and Description |
---|---|
private Collation |
collation |
private Decoder<T> |
decoder |
private BsonDocument |
filter |
private BsonJavaScript |
finalizeFunction |
private BsonDocument |
initial |
private BsonDocument |
key |
private BsonJavaScript |
keyFunction |
private MongoNamespace |
namespace |
private BsonJavaScript |
reduceFunction |
Constructor and Description |
---|
GroupOperation(MongoNamespace namespace,
BsonJavaScript reduceFunction,
BsonDocument initial,
Decoder<T> decoder)
Create an operation that will perform a Group on a given collection.
|
Modifier and Type | Method and Description |
---|---|
private CommandOperationHelper.CommandTransformer<BsonDocument,AsyncBatchCursor<T>> |
asyncTransformer(AsyncConnection connection) |
GroupOperation<T> |
collation(Collation collation)
Sets the collation options
|
private QueryResult<T> |
createQueryResult(BsonDocument result,
ConnectionDescription description) |
BatchCursor<T> |
execute(ReadBinding binding)
Will return a cursor of Documents containing the results of the group operation.
|
void |
executeAsync(AsyncReadBinding binding,
SingleResultCallback<AsyncBatchCursor<T>> callback)
General execute which can return anything of type T
|
GroupOperation<T> |
filter(BsonDocument filter)
Sets the optional query filter to determine which documents in the collection to process.
|
GroupOperation<T> |
finalizeFunction(BsonJavaScript finalizeFunction)
Sets the function that runs each item in the result set before returning the final value.
|
Collation |
getCollation()
Returns the collation options
|
private BsonDocument |
getCommand() |
Decoder<T> |
getDecoder()
Gets the decoder used to decode the result documents.
|
BsonDocument |
getFilter()
Gets the query filter to determine which documents in the collection to process.
|
BsonJavaScript |
getFinalizeFunction()
Gets the function that runs each item in the result before returning the final value.
|
BsonDocument |
getInitial()
Gets the initial the aggregation result document.
|
BsonDocument |
getKey()
Gets the document containing the field or fields to group.
|
BsonJavaScript |
getKeyFunction()
Gets the function that creates a "key object" for use as the grouping key.
|
MongoNamespace |
getNamespace()
Gets the namespace.
|
BsonJavaScript |
getReduceFunction()
Gets the aggregation function that operates on the documents during the grouping operation.
|
GroupOperation<T> |
key(BsonDocument key)
Sets the document containing the field or fields to group.
|
GroupOperation<T> |
keyFunction(BsonJavaScript keyFunction)
Sets the function that creates a "key object" for use as the grouping key.
|
private CommandOperationHelper.CommandTransformer<BsonDocument,BatchCursor<T>> |
transformer(ConnectionSource source,
Connection connection) |
private final MongoNamespace namespace
private final BsonJavaScript reduceFunction
private final BsonDocument initial
private BsonDocument key
private BsonJavaScript keyFunction
private BsonDocument filter
private BsonJavaScript finalizeFunction
private Collation collation
public GroupOperation(MongoNamespace namespace, BsonJavaScript reduceFunction, BsonDocument initial, Decoder<T> decoder)
namespace
- the database and collection namespace for the operation.reduceFunction
- The aggregation function that operates on the documents during the grouping operation.initial
- The initial the aggregation result document.decoder
- the decoder for the result documents.public MongoNamespace getNamespace()
public Decoder<T> getDecoder()
public BsonDocument getKey()
public GroupOperation<T> key(BsonDocument key)
key
- the document containing the field or fields to group.public BsonJavaScript getKeyFunction()
public GroupOperation<T> keyFunction(BsonJavaScript keyFunction)
keyFunction
- the function that creates a "key object" for use as the grouping key.public BsonDocument getInitial()
public BsonJavaScript getReduceFunction()
public BsonDocument getFilter()
public GroupOperation<T> filter(BsonDocument filter)
filter
- the query filter to determine which documents in the collection to process.public BsonJavaScript getFinalizeFunction()
public GroupOperation<T> finalizeFunction(BsonJavaScript finalizeFunction)
finalizeFunction
- the function that runs each item in the result set before returning the final value.public Collation getCollation()
public GroupOperation<T> collation(Collation collation)
A null value represents the server default.
collation
- the collation options to usepublic BatchCursor<T> execute(ReadBinding binding)
execute
in interface ReadOperation<BatchCursor<T>>
binding
- the bindingpublic void executeAsync(AsyncReadBinding binding, SingleResultCallback<AsyncBatchCursor<T>> callback)
AsyncReadOperation
executeAsync
in interface AsyncReadOperation<AsyncBatchCursor<T>>
binding
- the binding to execute in the context ofcallback
- the callback to be called when the operation has been executedprivate BsonDocument getCommand()
private CommandOperationHelper.CommandTransformer<BsonDocument,BatchCursor<T>> transformer(ConnectionSource source, Connection connection)
private CommandOperationHelper.CommandTransformer<BsonDocument,AsyncBatchCursor<T>> asyncTransformer(AsyncConnection connection)
private QueryResult<T> createQueryResult(BsonDocument result, ConnectionDescription description)