T
- the operations result type.public class FindAndUpdateOperation<T> extends Object implements AsyncWriteOperation<T>, WriteOperation<T>
Constructor and Description |
---|
FindAndUpdateOperation(MongoNamespace namespace,
Decoder<T> decoder,
BsonDocument update)
Construct a new instance.
|
Modifier and Type | Method and Description |
---|---|
T |
execute(WriteBinding binding)
General execute which can return anything of type T
|
void |
executeAsync(AsyncWriteBinding binding,
SingleResultCallback<T> callback)
General execute which can return anything of type T
|
FindAndUpdateOperation<T> |
filter(BsonDocument filter)
Sets the filter to apply to the query.
|
Decoder<T> |
getDecoder()
Gets the decoder used to decode the result documents.
|
BsonDocument |
getFilter()
Gets the query filter.
|
long |
getMaxTime(TimeUnit timeUnit)
Gets the maximum execution time on the server for this operation.
|
MongoNamespace |
getNamespace()
Gets the namespace.
|
BsonDocument |
getProjection()
Gets a document describing the fields to return for all matching documents.
|
BsonDocument |
getSort()
Gets the sort criteria to apply to the query.
|
BsonDocument |
getUpdate()
Gets the document containing update operators
|
boolean |
isReturnOriginal()
When false, returns the updated document rather than the original.
|
boolean |
isUpsert()
Returns true if a new document should be inserted if there are no matches to the query filter.
|
FindAndUpdateOperation<T> |
maxTime(long maxTime,
TimeUnit timeUnit)
Sets the maximum execution time on the server for this operation.
|
FindAndUpdateOperation<T> |
projection(BsonDocument projection)
Sets a document describing the fields to return for all matching documents.
|
FindAndUpdateOperation<T> |
returnOriginal(boolean returnOriginal)
Set to false if the updated document rather than the original should be returned.
|
FindAndUpdateOperation<T> |
sort(BsonDocument sort)
Sets the sort criteria to apply to the query.
|
FindAndUpdateOperation<T> |
upsert(boolean upsert)
Set to true if a new document should be inserted if there are no matches to the query filter.
|
public FindAndUpdateOperation(MongoNamespace namespace, Decoder<T> decoder, BsonDocument update)
namespace
- the database and collection namespace for the operation.decoder
- the decoder for the result documents.update
- the document containing update operators.public MongoNamespace getNamespace()
public Decoder<T> getDecoder()
public BsonDocument getUpdate()
public BsonDocument getFilter()
public FindAndUpdateOperation<T> filter(BsonDocument filter)
filter
- the filter, which may be null.public BsonDocument getProjection()
public FindAndUpdateOperation<T> projection(BsonDocument projection)
projection
- the project document, which may be null.public long getMaxTime(TimeUnit timeUnit)
timeUnit
- the time unit to return the result inpublic FindAndUpdateOperation<T> maxTime(long maxTime, TimeUnit timeUnit)
maxTime
- the max timetimeUnit
- the time unit, which may not be nullpublic BsonDocument getSort()
public FindAndUpdateOperation<T> sort(BsonDocument sort)
sort
- the sort criteria, which may be null.public boolean isReturnOriginal()
public FindAndUpdateOperation<T> returnOriginal(boolean returnOriginal)
returnOriginal
- set to false if the updated document rather than the original should be returnedpublic boolean isUpsert()
public FindAndUpdateOperation<T> upsert(boolean upsert)
upsert
- true if a new document should be inserted if there are no matches to the query filterpublic T execute(WriteBinding binding)
WriteOperation
execute
in interface WriteOperation<T>
binding
- the binding to execute in the context ofpublic void executeAsync(AsyncWriteBinding binding, SingleResultCallback<T> callback)
AsyncWriteOperation
executeAsync
in interface AsyncWriteOperation<T>
binding
- the binding to execute in the context ofcallback
- the callback to be called when the operation has been executed