Table of Contents

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
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 CollectionNamespace

The collection namespace.

resultSerializer IBsonSerializer<TResult>

The result serializer.

messageEncoderSettings MessageEncoderSettings

The 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

bool

WriteConcern

Gets or sets the write concern.

public WriteConcern WriteConcern { get; set; }

Property Value

WriteConcern

Methods

Execute(IWriteBinding, CancellationToken)

Executes the operation.

public TResult Execute(IWriteBinding binding, CancellationToken cancellationToken)

Parameters

binding IWriteBinding

The binding.

cancellationToken CancellationToken

The 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 RetryableWriteContext

The context.

cancellationToken CancellationToken

The cancellation token.

Returns

TResult

The result.

ExecuteAsync(IWriteBinding, CancellationToken)

Executes the operation.

public Task<TResult> ExecuteAsync(IWriteBinding binding, CancellationToken cancellationToken)

Parameters

binding IWriteBinding

The binding.

cancellationToken CancellationToken

The 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 RetryableWriteContext

The context.

cancellationToken CancellationToken

The 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 RetryableWriteContext

The context.

attempt int

The attempt.

transactionNumber long?

The transaction number.

cancellationToken CancellationToken

The 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 RetryableWriteContext

The context.

attempt int

The attempt.

transactionNumber long?

The transaction number.

cancellationToken CancellationToken

The 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.