class AggregateIterableImpl<TDocument,TResult> extends java.lang.Object implements AggregateIterable<TResult>
| Modifier and Type | Field and Description |
|---|---|
private java.lang.Boolean |
allowDiskUse |
private java.lang.Integer |
batchSize |
private java.lang.Boolean |
bypassDocumentValidation |
private CodecRegistry |
codecRegistry |
private Collation |
collation |
private java.lang.Class<TDocument> |
documentClass |
private OperationExecutor |
executor |
private long |
maxTimeMS |
private MongoNamespace |
namespace |
private java.util.List<? extends Bson> |
pipeline |
private ReadConcern |
readConcern |
private ReadPreference |
readPreference |
private java.lang.Class<TResult> |
resultClass |
private java.lang.Boolean |
useCursor |
private WriteConcern |
writeConcern |
| Constructor and Description |
|---|
AggregateIterableImpl(MongoNamespace namespace,
java.lang.Class<TDocument> documentClass,
java.lang.Class<TResult> resultClass,
CodecRegistry codecRegistry,
ReadPreference readPreference,
ReadConcern readConcern,
WriteConcern writeConcern,
OperationExecutor executor,
java.util.List<? extends Bson> pipeline) |
| Modifier and Type | Method and Description |
|---|---|
AggregateIterable<TResult> |
allowDiskUse(java.lang.Boolean allowDiskUse)
Enables writing to temporary files.
|
AggregateIterable<TResult> |
batchSize(int batchSize)
Sets the number of documents to return per batch.
|
AggregateIterable<TResult> |
bypassDocumentValidation(java.lang.Boolean bypassDocumentValidation)
Sets the bypass document level validation flag.
|
AggregateIterable<TResult> |
collation(Collation collation)
Sets the collation options
|
private AggregateToCollectionOperation |
createAggregateToCollectionOperation(java.util.List<BsonDocument> aggregateList) |
private java.util.List<BsonDocument> |
createBsonDocumentList(java.util.List<? extends Bson> pipeline) |
private MongoIterable<TResult> |
execute() |
TResult |
first()
Helper to return the first item in the iterator or null.
|
void |
forEach(Block<? super TResult> block)
Iterates over all documents in the view, applying the given block to each.
|
private BsonValue |
getOutCollection(java.util.List<BsonDocument> aggregateList) |
<A extends java.util.Collection<? super TResult>> |
into(A target)
Iterates over all the documents, adding each to the given target.
|
MongoCursor<TResult> |
iterator() |
<U> MongoIterable<U> |
map(Function<TResult,U> mapper)
Maps this iterable from the source document type to the target document type.
|
AggregateIterable<TResult> |
maxTime(long maxTime,
java.util.concurrent.TimeUnit timeUnit)
Sets the maximum execution time on the server for this operation.
|
void |
toCollection()
Aggregates documents according to the specified aggregation pipeline, which must end with a $out stage.
|
AggregateIterable<TResult> |
useCursor(java.lang.Boolean useCursor)
Sets whether the server should use a cursor to return results.
|
private final MongoNamespace namespace
private final java.lang.Class<TDocument> documentClass
private final java.lang.Class<TResult> resultClass
private final ReadPreference readPreference
private final ReadConcern readConcern
private final WriteConcern writeConcern
private final CodecRegistry codecRegistry
private final OperationExecutor executor
private final java.util.List<? extends Bson> pipeline
private java.lang.Boolean allowDiskUse
private java.lang.Integer batchSize
private long maxTimeMS
private java.lang.Boolean useCursor
private java.lang.Boolean bypassDocumentValidation
private Collation collation
AggregateIterableImpl(MongoNamespace namespace, java.lang.Class<TDocument> documentClass, java.lang.Class<TResult> resultClass, CodecRegistry codecRegistry, ReadPreference readPreference, ReadConcern readConcern, WriteConcern writeConcern, OperationExecutor executor, java.util.List<? extends Bson> pipeline)
public void toCollection()
AggregateIterabletoCollection in interface AggregateIterable<TResult>public AggregateIterable<TResult> allowDiskUse(java.lang.Boolean allowDiskUse)
AggregateIterableallowDiskUse in interface AggregateIterable<TResult>allowDiskUse - true if writing to temporary files is enabledpublic AggregateIterable<TResult> batchSize(int batchSize)
AggregateIterablebatchSize in interface AggregateIterable<TResult>batchSize in interface MongoIterable<TResult>batchSize - the batch sizepublic AggregateIterable<TResult> maxTime(long maxTime, java.util.concurrent.TimeUnit timeUnit)
AggregateIterablemaxTime in interface AggregateIterable<TResult>maxTime - the max timetimeUnit - the time unit, which may not be nullpublic AggregateIterable<TResult> useCursor(java.lang.Boolean useCursor)
AggregateIterableuseCursor in interface AggregateIterable<TResult>useCursor - whether the server should use a cursor to return resultspublic AggregateIterable<TResult> bypassDocumentValidation(java.lang.Boolean bypassDocumentValidation)
AggregateIterableNote: This only applies when an $out stage is specified
.bypassDocumentValidation in interface AggregateIterable<TResult>bypassDocumentValidation - If true, allows the write to opt-out of document level validation.public AggregateIterable<TResult> collation(Collation collation)
AggregateIterableA null value represents the server default.
collation in interface AggregateIterable<TResult>collation - the collation options to usepublic MongoCursor<TResult> iterator()
iterator in interface MongoIterable<TResult>iterator in interface java.lang.Iterable<TResult>public TResult first()
MongoIterablefirst in interface MongoIterable<TResult>public <U> MongoIterable<U> map(Function<TResult,U> mapper)
MongoIterablemap in interface MongoIterable<TResult>U - the target document typemapper - a function that maps from the source to the target document typepublic void forEach(Block<? super TResult> block)
MongoIterableSimilar to map but the function is fully encapsulated with no returned result.
forEach in interface MongoIterable<TResult>block - the block to apply to each document of type T.public <A extends java.util.Collection<? super TResult>> A into(A target)
MongoIterableinto in interface MongoIterable<TResult>A - the collection typetarget - the collection to insert intoprivate MongoIterable<TResult> execute()
private BsonValue getOutCollection(java.util.List<BsonDocument> aggregateList)
private AggregateToCollectionOperation createAggregateToCollectionOperation(java.util.List<BsonDocument> aggregateList)
private java.util.List<BsonDocument> createBsonDocumentList(java.util.List<? extends Bson> pipeline)