Package com.mongodb.operation
Class DistinctOperation<T>
- java.lang.Object
-
- com.mongodb.operation.DistinctOperation<T>
-
- Type Parameters:
T- the type of the distinct value
- All Implemented Interfaces:
AsyncReadOperation<AsyncBatchCursor<T>>,ReadOperation<BatchCursor<T>>
public class DistinctOperation<T> extends java.lang.Object implements AsyncReadOperation<AsyncBatchCursor<T>>, ReadOperation<BatchCursor<T>>
Finds the distinct values for a specified field across a single collection.When possible, the distinct command uses an index to find documents and return values.
- Since:
- 3.0
-
-
Constructor Summary
Constructors Constructor Description DistinctOperation(MongoNamespace namespace, java.lang.String fieldName, Decoder<T> decoder)Construct an instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DistinctOperation<T>collation(Collation collation)Sets the collation optionsBatchCursor<T>execute(ReadBinding binding)General execute which can return anything of type TvoidexecuteAsync(AsyncReadBinding binding, SingleResultCallback<AsyncBatchCursor<T>> callback)General execute which can return anything of type TDistinctOperation<T>filter(BsonDocument filter)Sets the query filter to apply to the query.CollationgetCollation()Returns the collation optionsBsonDocumentgetFilter()Gets the query filter.longgetMaxTime(java.util.concurrent.TimeUnit timeUnit)Gets the maximum execution time on the server for this operation.DistinctOperation<T>maxTime(long maxTime, java.util.concurrent.TimeUnit timeUnit)Sets the maximum execution time on the server for this operation.
-
-
-
Constructor Detail
-
DistinctOperation
public DistinctOperation(MongoNamespace namespace, java.lang.String fieldName, Decoder<T> decoder)
Construct an instance.- Parameters:
namespace- the database and collection namespace for the operation.fieldName- the name of the field to return distinct values.decoder- the decoder for the result documents.
-
-
Method Detail
-
getFilter
public BsonDocument getFilter()
Gets the query filter.- Returns:
- the query filter
-
filter
public DistinctOperation<T> filter(BsonDocument filter)
Sets the query filter to apply to the query.- Parameters:
filter- the query filter, which may be null.- Returns:
- this
-
getMaxTime
public long getMaxTime(java.util.concurrent.TimeUnit timeUnit)
Gets the maximum execution time on the server for this operation. The default is 0, which places no limit on the execution time.- Parameters:
timeUnit- the time unit to return the result in- Returns:
- the maximum execution time in the given time unit
-
maxTime
public DistinctOperation<T> maxTime(long maxTime, java.util.concurrent.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
-
getCollation
public Collation getCollation()
Returns the collation options- Returns:
- the collation options
- Since:
- 3.4
-
collation
public DistinctOperation<T> collation(Collation collation)
Sets the collation optionsA null value represents the server default.
- Parameters:
collation- the collation options to use- Returns:
- this
- Since:
- 3.4
-
execute
public BatchCursor<T> execute(ReadBinding binding)
Description copied from interface:ReadOperationGeneral execute which can return anything of type T- Specified by:
executein interfaceReadOperation<T>- Parameters:
binding- the binding to execute in the context of- Returns:
- T, the result of the execution
-
executeAsync
public void executeAsync(AsyncReadBinding binding, SingleResultCallback<AsyncBatchCursor<T>> callback)
Description copied from interface:AsyncReadOperationGeneral execute which can return anything of type T- Specified by:
executeAsyncin interfaceAsyncReadOperation<T>- Parameters:
binding- the binding to execute in the context ofcallback- the callback to be called when the operation has been executed
-
-