Interface ChangeStreamIterable<TResult>
- Type Parameters:
TResult
- The type of the result.
- All Superinterfaces:
Iterable<ChangeStreamDocument<TResult>>
,MongoIterable<ChangeStreamDocument<TResult>>
Note: the ChangeStreamDocument
class will not be applicable for all change stream outputs. If using custom pipelines that
radically change the result, then the withDocumentClass(Class)
method can be used to provide an alternative document format.
- Since:
- 3.6
- Since server release
- 3.6
-
Method Summary
Modifier and TypeMethodDescriptionbatchSize
(int batchSize) Sets the number of documents to return per batch.Sets the collation optionsSets the comment for this operation.Sets the comment for this operation.cursor()
Returns a cursor used for iterating over elements of typeChangeStreamDocument<TResult>
.fullDocument
(FullDocument fullDocument) Sets the fullDocument value.fullDocumentBeforeChange
(FullDocumentBeforeChange fullDocumentBeforeChange) Sets the fullDocumentBeforeChange value.maxAwaitTime
(long maxAwaitTime, TimeUnit timeUnit) Sets the maximum await execution time on the server for this operation.resumeAfter
(BsonDocument resumeToken) Sets the logical starting point for the new change stream.showExpandedEvents
(boolean showExpandedEvents) Sets whether to include expanded change stream events, which are: createIndexes, dropIndexes, modify, create, shardCollection, reshardCollection, refineCollectionShardKey.startAfter
(BsonDocument startAfter) Similar toresumeAfter
, this option takes a resume token and starts a new change stream returning the first notification after the token.startAtOperationTime
(BsonTimestamp startAtOperationTime) The change stream will only provide changes that occurred at or after the specified timestamp.<TDocument>
MongoIterable<TDocument>withDocumentClass
(Class<TDocument> clazz) Returns aMongoIterable
containing the results of the change stream based on the document class provided.Methods inherited from interface java.lang.Iterable
forEach, spliterator
Methods inherited from interface com.mongodb.client.MongoIterable
first, into, iterator, map
-
Method Details
-
cursor
MongoChangeStreamCursor<ChangeStreamDocument<TResult>> cursor()Returns a cursor used for iterating over elements of typeChangeStreamDocument<TResult>
. The cursor has a covariant return type to additionally provide a method to access the resume token in change stream batches.- Specified by:
cursor
in interfaceMongoIterable<TResult>
- Returns:
- the change stream cursor
- Since:
- 3.11
-
fullDocument
Sets the fullDocument value.- Parameters:
fullDocument
- the fullDocument- Returns:
- this
-
fullDocumentBeforeChange
ChangeStreamIterable<TResult> fullDocumentBeforeChange(FullDocumentBeforeChange fullDocumentBeforeChange) Sets the fullDocumentBeforeChange value.- Parameters:
fullDocumentBeforeChange
- the fullDocumentBeforeChange- Returns:
- this
- Since:
- 4.7
- Since server release
- 6.0
-
resumeAfter
Sets the logical starting point for the new change stream.- Parameters:
resumeToken
- the resume token- Returns:
- this
-
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
-
maxAwaitTime
Sets the maximum await execution time on the server for this operation.- Parameters:
maxAwaitTime
- the max await time. A zero value will be ignored, and indicates that the driver should respect the server's default valuetimeUnit
- the time unit, which may not be null- Returns:
- this
-
collation
Sets the collation optionsA null value represents the server default.
- Parameters:
collation
- the collation options to use- Returns:
- this
-
withDocumentClass
Returns aMongoIterable
containing the results of the change stream based on the document class provided.- Type Parameters:
TDocument
- the result type- Parameters:
clazz
- the class to use for the raw result.- Returns:
- the new Mongo Iterable
-
startAtOperationTime
The change stream will only provide changes that occurred at or after the specified timestamp.Any command run against the server will return an operation time that can be used here.
The default value is an operation time obtained from the server before the change stream was created.
- Parameters:
startAtOperationTime
- the start at operation time- Returns:
- this
- Since:
- 3.8
- MongoDB documentation
- reference/method/db.runCommand/
- Since server release
- 4.0
-
startAfter
Similar toresumeAfter
, this option takes a resume token and starts a new change stream returning the first notification after the token.This will allow users to watch collections that have been dropped and recreated or newly renamed collections without missing any notifications.
Note: The server will report an error if both
startAfter
andresumeAfter
are specified.- Parameters:
startAfter
- the startAfter resumeToken- Returns:
- this
- Since:
- 3.11
- MongoDB documentation
- changeStreams/#change-stream-start-after
- Since server release
- 4.2
-
comment
Sets the comment for this operation. A null value means no comment is set.- Parameters:
comment
- the comment- Returns:
- this
- Since:
- 4.6
- Since server release
- 3.6
-
comment
Sets the comment for this operation. A null value means no comment is set.The comment can be any valid BSON type for server versions 4.4 and above. Server versions between 3.6 and 4.2 only support string as comment, and providing a non-string type will result in a server-side error.
- Parameters:
comment
- the comment- Returns:
- this
- Since:
- 4.6
- Since server release
- 3.6
-
showExpandedEvents
Sets whether to include expanded change stream events, which are: createIndexes, dropIndexes, modify, create, shardCollection, reshardCollection, refineCollectionShardKey. False by default.- Parameters:
showExpandedEvents
- true to include expanded events- Returns:
- this
- Since:
- 4.7
- Since server release
- 6.0
-