Class FindAndModifyOperationBase<TResult>
- Namespace
- MongoDB.Driver.Core.Operations
- Assembly
- MongoDB.Driver.Core.dll
Represents a base class for find and modify operations.
public abstract class FindAndModifyOperationBase<TResult> : IWriteOperation<TResult>, IRetryableWriteOperation<TResult>, IExecutableInRetryableWriteContext<TResult>
Type Parameters
TResult
The type of the result.
- Inheritance
-
FindAndModifyOperationBase<TResult>
- Implements
-
IWriteOperation<TResult>IRetryableWriteOperation<TResult>IExecutableInRetryableWriteContext<TResult>
- Derived
- Inherited Members
- Extension Methods
Constructors
FindAndModifyOperationBase(CollectionNamespace, IBsonSerializer<TResult>, MessageEncoderSettings)
Initializes a new instance of the FindAndModifyOperationBase<TResult> class.
public FindAndModifyOperationBase(CollectionNamespace collectionNamespace, IBsonSerializer<TResult> resultSerializer, MessageEncoderSettings messageEncoderSettings)
Parameters
collectionNamespace
CollectionNamespaceThe collection namespace.
resultSerializer
IBsonSerializer<TResult>The result serializer.
messageEncoderSettings
MessageEncoderSettingsThe message encoder settings.
Properties
Collation
Gets or sets the collation.
public Collation Collation { get; set; }
Property Value
- Collation
The collation.
CollectionNamespace
Gets the collection namespace.
public CollectionNamespace CollectionNamespace { get; }
Property Value
- CollectionNamespace
The collection namespace.
Comment
Gets or sets the comment.
public BsonValue Comment { get; set; }
Property Value
- BsonValue
The comment.
MessageEncoderSettings
Gets the message encoder settings.
public MessageEncoderSettings MessageEncoderSettings { get; }
Property Value
- MessageEncoderSettings
The message encoder settings.
ResultSerializer
Gets the result serializer.
public IBsonSerializer<TResult> ResultSerializer { get; }
Property Value
- IBsonSerializer<TResult>
The result serializer.
RetryRequested
Gets or sets whether the operation can be retried.
public bool RetryRequested { get; set; }
Property Value
WriteConcern
Gets or sets the write concern.
public WriteConcern WriteConcern { get; set; }
Property Value
Methods
Execute(IWriteBinding, CancellationToken)
Executes the operation.
public TResult Execute(IWriteBinding binding, CancellationToken cancellationToken)
Parameters
binding
IWriteBindingThe binding.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- TResult
The result of the operation.
Execute(RetryableWriteContext, CancellationToken)
Executes the first attempt.
public TResult Execute(RetryableWriteContext context, CancellationToken cancellationToken)
Parameters
context
RetryableWriteContextThe context.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- TResult
The result.
ExecuteAsync(IWriteBinding, CancellationToken)
Executes the operation.
public Task<TResult> ExecuteAsync(IWriteBinding binding, CancellationToken cancellationToken)
Parameters
binding
IWriteBindingThe binding.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<TResult>
A Task whose result is the result of the operation.
ExecuteAsync(RetryableWriteContext, CancellationToken)
Executes the first attempt.
public Task<TResult> ExecuteAsync(RetryableWriteContext context, CancellationToken cancellationToken)
Parameters
context
RetryableWriteContextThe context.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<TResult>
The result.
ExecuteAttempt(RetryableWriteContext, int, long?, CancellationToken)
Executes the first attempt.
public TResult ExecuteAttempt(RetryableWriteContext context, int attempt, long? transactionNumber, CancellationToken cancellationToken)
Parameters
context
RetryableWriteContextThe context.
attempt
intThe attempt.
transactionNumber
long?The transaction number.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- TResult
The result.
ExecuteAttemptAsync(RetryableWriteContext, int, long?, CancellationToken)
Executes the first attempt.
public Task<TResult> ExecuteAttemptAsync(RetryableWriteContext context, int attempt, long? transactionNumber, CancellationToken cancellationToken)
Parameters
context
RetryableWriteContextThe context.
attempt
intThe attempt.
transactionNumber
long?The transaction number.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<TResult>
The result.
GetCommandValidator()
Gets the command validator.
protected abstract IElementNameValidator GetCommandValidator()
Returns
- IElementNameValidator
An element name validator for the command.