T
- the operations result type.public class FindAndUpdateOperation<T> extends java.lang.Object implements AsyncWriteOperation<T>, WriteOperation<T>
Modifier and Type | Field and Description |
---|---|
private java.lang.Boolean |
bypassDocumentValidation |
private Collation |
collation |
private Decoder<T> |
decoder |
private BsonDocument |
filter |
private long |
maxTimeMS |
private MongoNamespace |
namespace |
private BsonDocument |
projection |
private boolean |
returnOriginal |
private BsonDocument |
sort |
private BsonDocument |
update |
private boolean |
upsert |
private WriteConcern |
writeConcern |
Constructor and Description |
---|
FindAndUpdateOperation(MongoNamespace namespace,
Decoder<T> decoder,
BsonDocument update)
Deprecated.
|
FindAndUpdateOperation(MongoNamespace namespace,
WriteConcern writeConcern,
Decoder<T> decoder,
BsonDocument update)
Construct a new instance.
|
Modifier and Type | Method and Description |
---|---|
FindAndUpdateOperation<T> |
bypassDocumentValidation(java.lang.Boolean bypassDocumentValidation)
Sets the bypass document level validation flag.
|
FindAndUpdateOperation<T> |
collation(Collation collation)
Sets the collation options
|
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.
|
java.lang.Boolean |
getBypassDocumentValidation()
Gets the bypass document level validation flag
|
Collation |
getCollation()
Returns the collation options
|
private BsonDocument |
getCommand(ConnectionDescription description) |
Decoder<T> |
getDecoder()
Gets the decoder used to decode the result documents.
|
BsonDocument |
getFilter()
Gets the query filter.
|
long |
getMaxTime(java.util.concurrent.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
|
private FieldNameValidator |
getValidator() |
WriteConcern |
getWriteConcern()
Get the write concern for this operation
|
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,
java.util.concurrent.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.
|
private final MongoNamespace namespace
private final BsonDocument update
private final WriteConcern writeConcern
private BsonDocument filter
private BsonDocument projection
private BsonDocument sort
private long maxTimeMS
private boolean returnOriginal
private boolean upsert
private java.lang.Boolean bypassDocumentValidation
private Collation collation
@Deprecated public FindAndUpdateOperation(MongoNamespace namespace, Decoder<T> decoder, BsonDocument update)
FindAndUpdateOperation(MongoNamespace, WriteConcern, Decoder, BsonDocument)
insteadnamespace
- the database and collection namespace for the operation.decoder
- the decoder for the result documents.update
- the document containing update operators.public FindAndUpdateOperation(MongoNamespace namespace, WriteConcern writeConcern, Decoder<T> decoder, BsonDocument update)
namespace
- the database and collection namespace for the operation.writeConcern
- the writeConcern for the operationdecoder
- the decoder for the result documents.update
- the document containing update operators.public MongoNamespace getNamespace()
public WriteConcern getWriteConcern()
WriteConcern
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(java.util.concurrent.TimeUnit timeUnit)
timeUnit
- the time unit to return the result inpublic FindAndUpdateOperation<T> maxTime(long maxTime, java.util.concurrent.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 java.lang.Boolean getBypassDocumentValidation()
public FindAndUpdateOperation<T> bypassDocumentValidation(java.lang.Boolean bypassDocumentValidation)
Note: This only applies when an $out stage is specified
.bypassDocumentValidation
- If true, allows the write to opt-out of document level validation.public Collation getCollation()
public FindAndUpdateOperation<T> collation(Collation collation)
A null value represents the server default.
collation
- the collation options to usepublic 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 executedprivate BsonDocument getCommand(ConnectionDescription description)
private FieldNameValidator getValidator()