Class MongoCollectionBase<TDocument>
Base class for implementors of IMongoCollection<TDocument>.
public abstract class MongoCollectionBase<TDocument> : IMongoCollection<TDocument>
Type Parameters
TDocumentThe type of the document.
- Inheritance
-
MongoCollectionBase<TDocument>
- Implements
-
IMongoCollection<TDocument>
- Inherited Members
- Extension Methods
Properties
CollectionNamespace
Gets the namespace of the collection.
public abstract CollectionNamespace CollectionNamespace { get; }
Property Value
Database
Gets the database.
public abstract IMongoDatabase Database { get; }
Property Value
DocumentSerializer
Gets the document serializer.
public abstract IBsonSerializer<TDocument> DocumentSerializer { get; }
Property Value
- IBsonSerializer<TDocument>
Indexes
Gets the index manager.
public abstract IMongoIndexManager<TDocument> Indexes { get; }
Property Value
- IMongoIndexManager<TDocument>
SearchIndexes
Gets the search index manager.
public abstract IMongoSearchIndexManager SearchIndexes { get; }
Property Value
Settings
Gets the settings.
public abstract MongoCollectionSettings Settings { get; }
Property Value
Methods
AggregateAsync<TResult>(IClientSessionHandle, PipelineDefinition<TDocument, TResult>, AggregateOptions, CancellationToken)
Runs an aggregation pipeline.
public virtual Task<IAsyncCursor<TResult>> AggregateAsync<TResult>(IClientSessionHandle session, PipelineDefinition<TDocument, TResult> pipeline, AggregateOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
pipelinePipelineDefinition<TDocument, TResult>The pipeline.
optionsAggregateOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<IAsyncCursor<TResult>>
A Task whose result is a cursor.
Type Parameters
TResultThe type of the result.
AggregateAsync<TResult>(PipelineDefinition<TDocument, TResult>, AggregateOptions, CancellationToken)
Runs an aggregation pipeline.
public abstract Task<IAsyncCursor<TResult>> AggregateAsync<TResult>(PipelineDefinition<TDocument, TResult> pipeline, AggregateOptions options = null, CancellationToken cancellationToken = default)
Parameters
pipelinePipelineDefinition<TDocument, TResult>The pipeline.
optionsAggregateOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<IAsyncCursor<TResult>>
A Task whose result is a cursor.
Type Parameters
TResultThe type of the result.
AggregateToCollectionAsync<TResult>(IClientSessionHandle, PipelineDefinition<TDocument, TResult>, AggregateOptions, CancellationToken)
Runs an aggregation pipeline whose results are written to a collection.
public virtual Task AggregateToCollectionAsync<TResult>(IClientSessionHandle session, PipelineDefinition<TDocument, TResult> pipeline, AggregateOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
pipelinePipelineDefinition<TDocument, TResult>The pipeline.
optionsAggregateOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task
A Task.
Type Parameters
TResultThe type of the result.
AggregateToCollectionAsync<TResult>(PipelineDefinition<TDocument, TResult>, AggregateOptions, CancellationToken)
Runs an aggregation pipeline whose results are written to a collection.
public virtual Task AggregateToCollectionAsync<TResult>(PipelineDefinition<TDocument, TResult> pipeline, AggregateOptions options = null, CancellationToken cancellationToken = default)
Parameters
pipelinePipelineDefinition<TDocument, TResult>The pipeline.
optionsAggregateOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task
A Task.
Type Parameters
TResultThe type of the result.
AggregateToCollection<TResult>(IClientSessionHandle, PipelineDefinition<TDocument, TResult>, AggregateOptions, CancellationToken)
Runs an aggregation pipeline whose results are written to a collection.
public virtual void AggregateToCollection<TResult>(IClientSessionHandle session, PipelineDefinition<TDocument, TResult> pipeline, AggregateOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
pipelinePipelineDefinition<TDocument, TResult>The pipeline.
optionsAggregateOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Type Parameters
TResultThe type of the result.
AggregateToCollection<TResult>(PipelineDefinition<TDocument, TResult>, AggregateOptions, CancellationToken)
Runs an aggregation pipeline whose results are written to a collection.
public virtual void AggregateToCollection<TResult>(PipelineDefinition<TDocument, TResult> pipeline, AggregateOptions options = null, CancellationToken cancellationToken = default)
Parameters
pipelinePipelineDefinition<TDocument, TResult>The pipeline.
optionsAggregateOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Type Parameters
TResultThe type of the result.
Aggregate<TResult>(IClientSessionHandle, PipelineDefinition<TDocument, TResult>, AggregateOptions, CancellationToken)
Runs an aggregation pipeline.
public virtual IAsyncCursor<TResult> Aggregate<TResult>(IClientSessionHandle session, PipelineDefinition<TDocument, TResult> pipeline, AggregateOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
pipelinePipelineDefinition<TDocument, TResult>The pipeline.
optionsAggregateOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- IAsyncCursor<TResult>
A cursor.
Type Parameters
TResultThe type of the result.
Aggregate<TResult>(PipelineDefinition<TDocument, TResult>, AggregateOptions, CancellationToken)
Runs an aggregation pipeline.
public virtual IAsyncCursor<TResult> Aggregate<TResult>(PipelineDefinition<TDocument, TResult> pipeline, AggregateOptions options = null, CancellationToken cancellationToken = default)
Parameters
pipelinePipelineDefinition<TDocument, TResult>The pipeline.
optionsAggregateOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- IAsyncCursor<TResult>
A cursor.
Type Parameters
TResultThe type of the result.
BulkWrite(IClientSessionHandle, IEnumerable<WriteModel<TDocument>>, BulkWriteOptions, CancellationToken)
Performs multiple write operations.
public virtual BulkWriteResult<TDocument> BulkWrite(IClientSessionHandle session, IEnumerable<WriteModel<TDocument>> requests, BulkWriteOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
requestsIEnumerable<WriteModel<TDocument>>The requests.
optionsBulkWriteOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- BulkWriteResult<TDocument>
The result of writing.
BulkWrite(IEnumerable<WriteModel<TDocument>>, BulkWriteOptions, CancellationToken)
Performs multiple write operations.
public virtual BulkWriteResult<TDocument> BulkWrite(IEnumerable<WriteModel<TDocument>> requests, BulkWriteOptions options = null, CancellationToken cancellationToken = default)
Parameters
requestsIEnumerable<WriteModel<TDocument>>The requests.
optionsBulkWriteOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- BulkWriteResult<TDocument>
The result of writing.
BulkWriteAsync(IClientSessionHandle, IEnumerable<WriteModel<TDocument>>, BulkWriteOptions, CancellationToken)
Performs multiple write operations.
public virtual Task<BulkWriteResult<TDocument>> BulkWriteAsync(IClientSessionHandle session, IEnumerable<WriteModel<TDocument>> requests, BulkWriteOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
requestsIEnumerable<WriteModel<TDocument>>The requests.
optionsBulkWriteOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<BulkWriteResult<TDocument>>
The result of writing.
BulkWriteAsync(IEnumerable<WriteModel<TDocument>>, BulkWriteOptions, CancellationToken)
Performs multiple write operations.
public abstract Task<BulkWriteResult<TDocument>> BulkWriteAsync(IEnumerable<WriteModel<TDocument>> requests, BulkWriteOptions options = null, CancellationToken cancellationToken = default)
Parameters
requestsIEnumerable<WriteModel<TDocument>>The requests.
optionsBulkWriteOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<BulkWriteResult<TDocument>>
The result of writing.
Count(FilterDefinition<TDocument>, CountOptions, CancellationToken)
Counts the number of documents in the collection.
[Obsolete("Use CountDocuments or EstimatedDocumentCount instead.")]
public virtual long Count(FilterDefinition<TDocument> filter, CountOptions options = null, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
optionsCountOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- long
The number of documents in the collection.
Count(IClientSessionHandle, FilterDefinition<TDocument>, CountOptions, CancellationToken)
Counts the number of documents in the collection.
[Obsolete("Use CountDocuments or EstimatedDocumentCount instead.")]
public virtual long Count(IClientSessionHandle session, FilterDefinition<TDocument> filter, CountOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
filterFilterDefinition<TDocument>The filter.
optionsCountOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- long
The number of documents in the collection.
CountAsync(FilterDefinition<TDocument>, CountOptions, CancellationToken)
Counts the number of documents in the collection.
[Obsolete("Use CountDocumentsAsync or EstimatedDocumentCountAsync instead.")]
public abstract Task<long> CountAsync(FilterDefinition<TDocument> filter, CountOptions options = null, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
optionsCountOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
CountAsync(IClientSessionHandle, FilterDefinition<TDocument>, CountOptions, CancellationToken)
Counts the number of documents in the collection.
[Obsolete("Use CountDocumentsAsync or EstimatedDocumentCountAsync instead.")]
public virtual Task<long> CountAsync(IClientSessionHandle session, FilterDefinition<TDocument> filter, CountOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
filterFilterDefinition<TDocument>The filter.
optionsCountOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
CountDocuments(FilterDefinition<TDocument>, CountOptions, CancellationToken)
Counts the number of documents in the collection. For a fast estimate of the total documents in a collection see EstimatedDocumentCount(EstimatedDocumentCountOptions, CancellationToken).
public virtual long CountDocuments(FilterDefinition<TDocument> filter, CountOptions options = null, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
optionsCountOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- long
The number of documents in the collection.
Remarks
Note: when migrating from Count to CountDocuments the following query operations must be replaced:
+-------------+--------------------------------+
| Operator | Replacement |
+=============+================================+
| $where | $expr |
+-------------+--------------------------------+
| $near | $geoWithin with $center |
+-------------+--------------------------------+
| $nearSphere | $geoWithin with $centerSphere |
+-------------+--------------------------------+
CountDocuments(IClientSessionHandle, FilterDefinition<TDocument>, CountOptions, CancellationToken)
Counts the number of documents in the collection. For a fast estimate of the total documents in a collection see EstimatedDocumentCount(EstimatedDocumentCountOptions, CancellationToken).
public virtual long CountDocuments(IClientSessionHandle session, FilterDefinition<TDocument> filter, CountOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
filterFilterDefinition<TDocument>The filter.
optionsCountOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- long
The number of documents in the collection.
Remarks
Note: when migrating from Count to CountDocuments the following query operations must be replaced:
+-------------+--------------------------------+
| Operator | Replacement |
+=============+================================+
| $where | $expr |
+-------------+--------------------------------+
| $near | $geoWithin with $center |
+-------------+--------------------------------+
| $nearSphere | $geoWithin with $centerSphere |
+-------------+--------------------------------+
CountDocumentsAsync(FilterDefinition<TDocument>, CountOptions, CancellationToken)
Counts the number of documents in the collection.
For a fast estimate of the total documents in a collection see
public virtual Task<long> CountDocumentsAsync(FilterDefinition<TDocument> filter, CountOptions options = null, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
optionsCountOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
Remarks
Note: when migrating from CountAsync to CountDocumentsAsync the following query operations must be replaced:
+-------------+--------------------------------+
| Operator | Replacement |
+=============+================================+
| $where | $expr |
+-------------+--------------------------------+
| $near | $geoWithin with $center |
+-------------+--------------------------------+
| $nearSphere | $geoWithin with $centerSphere |
+-------------+--------------------------------+
CountDocumentsAsync(IClientSessionHandle, FilterDefinition<TDocument>, CountOptions, CancellationToken)
Counts the number of documents in the collection. For a fast estimate of the total documents in a collection see EstimatedDocumentCountAsync(EstimatedDocumentCountOptions, CancellationToken).
public virtual Task<long> CountDocumentsAsync(IClientSessionHandle session, FilterDefinition<TDocument> filter, CountOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
filterFilterDefinition<TDocument>The filter.
optionsCountOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
Remarks
Note: when migrating from CountAsync to CountDocumentsAsync the following query operations must be replaced:
+-------------+--------------------------------+
| Operator | Replacement |
+=============+================================+
| $where | $expr |
+-------------+--------------------------------+
| $near | $geoWithin with $center |
+-------------+--------------------------------+
| $nearSphere | $geoWithin with $centerSphere |
+-------------+--------------------------------+
DeleteMany(FilterDefinition<TDocument>, DeleteOptions, CancellationToken)
Deletes multiple documents.
public virtual DeleteResult DeleteMany(FilterDefinition<TDocument> filter, DeleteOptions options, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
optionsDeleteOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- DeleteResult
The result of the delete operation.
DeleteMany(FilterDefinition<TDocument>, CancellationToken)
Deletes multiple documents.
public virtual DeleteResult DeleteMany(FilterDefinition<TDocument> filter, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- DeleteResult
The result of the delete operation.
DeleteMany(IClientSessionHandle, FilterDefinition<TDocument>, DeleteOptions, CancellationToken)
Deletes multiple documents.
public virtual DeleteResult DeleteMany(IClientSessionHandle session, FilterDefinition<TDocument> filter, DeleteOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
filterFilterDefinition<TDocument>The filter.
optionsDeleteOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- DeleteResult
The result of the delete operation.
DeleteManyAsync(FilterDefinition<TDocument>, DeleteOptions, CancellationToken)
Deletes multiple documents.
public virtual Task<DeleteResult> DeleteManyAsync(FilterDefinition<TDocument> filter, DeleteOptions options, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
optionsDeleteOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<DeleteResult>
The result of the delete operation.
DeleteManyAsync(FilterDefinition<TDocument>, CancellationToken)
Deletes multiple documents.
public virtual Task<DeleteResult> DeleteManyAsync(FilterDefinition<TDocument> filter, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<DeleteResult>
The result of the delete operation.
DeleteManyAsync(IClientSessionHandle, FilterDefinition<TDocument>, DeleteOptions, CancellationToken)
Deletes multiple documents.
public virtual Task<DeleteResult> DeleteManyAsync(IClientSessionHandle session, FilterDefinition<TDocument> filter, DeleteOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
filterFilterDefinition<TDocument>The filter.
optionsDeleteOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<DeleteResult>
The result of the delete operation.
DeleteOne(FilterDefinition<TDocument>, DeleteOptions, CancellationToken)
Deletes a single document.
public virtual DeleteResult DeleteOne(FilterDefinition<TDocument> filter, DeleteOptions options, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
optionsDeleteOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- DeleteResult
The result of the delete operation.
DeleteOne(FilterDefinition<TDocument>, CancellationToken)
Deletes a single document.
public virtual DeleteResult DeleteOne(FilterDefinition<TDocument> filter, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- DeleteResult
The result of the delete operation.
DeleteOne(IClientSessionHandle, FilterDefinition<TDocument>, DeleteOptions, CancellationToken)
Deletes a single document.
public virtual DeleteResult DeleteOne(IClientSessionHandle session, FilterDefinition<TDocument> filter, DeleteOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
filterFilterDefinition<TDocument>The filter.
optionsDeleteOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- DeleteResult
The result of the delete operation.
DeleteOneAsync(FilterDefinition<TDocument>, DeleteOptions, CancellationToken)
Deletes a single document.
public virtual Task<DeleteResult> DeleteOneAsync(FilterDefinition<TDocument> filter, DeleteOptions options, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
optionsDeleteOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<DeleteResult>
The result of the delete operation.
DeleteOneAsync(FilterDefinition<TDocument>, CancellationToken)
Deletes a single document.
public virtual Task<DeleteResult> DeleteOneAsync(FilterDefinition<TDocument> filter, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<DeleteResult>
The result of the delete operation.
DeleteOneAsync(IClientSessionHandle, FilterDefinition<TDocument>, DeleteOptions, CancellationToken)
Deletes a single document.
public virtual Task<DeleteResult> DeleteOneAsync(IClientSessionHandle session, FilterDefinition<TDocument> filter, DeleteOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
filterFilterDefinition<TDocument>The filter.
optionsDeleteOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<DeleteResult>
The result of the delete operation.
DistinctAsync<TField>(FieldDefinition<TDocument, TField>, FilterDefinition<TDocument>, DistinctOptions, CancellationToken)
Gets the distinct values for a specified field.
public abstract Task<IAsyncCursor<TField>> DistinctAsync<TField>(FieldDefinition<TDocument, TField> field, FilterDefinition<TDocument> filter, DistinctOptions options = null, CancellationToken cancellationToken = default)
Parameters
fieldFieldDefinition<TDocument, TField>The field.
filterFilterDefinition<TDocument>The filter.
optionsDistinctOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<IAsyncCursor<TField>>
A Task whose result is a cursor.
Type Parameters
TFieldThe type of the result.
DistinctAsync<TField>(IClientSessionHandle, FieldDefinition<TDocument, TField>, FilterDefinition<TDocument>, DistinctOptions, CancellationToken)
Gets the distinct values for a specified field.
public virtual Task<IAsyncCursor<TField>> DistinctAsync<TField>(IClientSessionHandle session, FieldDefinition<TDocument, TField> field, FilterDefinition<TDocument> filter, DistinctOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
fieldFieldDefinition<TDocument, TField>The field.
filterFilterDefinition<TDocument>The filter.
optionsDistinctOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<IAsyncCursor<TField>>
A Task whose result is a cursor.
Type Parameters
TFieldThe type of the result.
Distinct<TField>(FieldDefinition<TDocument, TField>, FilterDefinition<TDocument>, DistinctOptions, CancellationToken)
Gets the distinct values for a specified field.
public virtual IAsyncCursor<TField> Distinct<TField>(FieldDefinition<TDocument, TField> field, FilterDefinition<TDocument> filter, DistinctOptions options = null, CancellationToken cancellationToken = default)
Parameters
fieldFieldDefinition<TDocument, TField>The field.
filterFilterDefinition<TDocument>The filter.
optionsDistinctOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- IAsyncCursor<TField>
A cursor.
Type Parameters
TFieldThe type of the result.
Distinct<TField>(IClientSessionHandle, FieldDefinition<TDocument, TField>, FilterDefinition<TDocument>, DistinctOptions, CancellationToken)
Gets the distinct values for a specified field.
public virtual IAsyncCursor<TField> Distinct<TField>(IClientSessionHandle session, FieldDefinition<TDocument, TField> field, FilterDefinition<TDocument> filter, DistinctOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
fieldFieldDefinition<TDocument, TField>The field.
filterFilterDefinition<TDocument>The filter.
optionsDistinctOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- IAsyncCursor<TField>
A cursor.
Type Parameters
TFieldThe type of the result.
EstimatedDocumentCount(EstimatedDocumentCountOptions, CancellationToken)
Returns an estimate of the number of documents in the collection.
public virtual long EstimatedDocumentCount(EstimatedDocumentCountOptions options = null, CancellationToken cancellationToken = default)
Parameters
optionsEstimatedDocumentCountOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- long
An estimate of the number of documents in the collection.
Remarks
Due to an oversight in versions 5.0.0-5.0.8 of MongoDB, the count command, which estimatedDocumentCount uses in its implementation, was not included in v1 of the Stable API. If you are using the Stable API with estimatedDocumentCount, you must upgrade to server version 5.0.9+ or set strict: false when configuring ServerApi to avoid encountering errors.
EstimatedDocumentCountAsync(EstimatedDocumentCountOptions, CancellationToken)
Returns an estimate of the number of documents in the collection.
public virtual Task<long> EstimatedDocumentCountAsync(EstimatedDocumentCountOptions options = null, CancellationToken cancellationToken = default)
Parameters
optionsEstimatedDocumentCountOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
FindAsync<TProjection>(FilterDefinition<TDocument>, FindOptions<TDocument, TProjection>, CancellationToken)
Finds the documents matching the filter.
public abstract Task<IAsyncCursor<TProjection>> FindAsync<TProjection>(FilterDefinition<TDocument> filter, FindOptions<TDocument, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
optionsFindOptions<TDocument, TProjection>The options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<IAsyncCursor<TProjection>>
A Task whose result is a cursor.
Type Parameters
TProjectionThe type of the projection (same as TDocument if there is no projection).
FindAsync<TProjection>(IClientSessionHandle, FilterDefinition<TDocument>, FindOptions<TDocument, TProjection>, CancellationToken)
Finds the documents matching the filter.
public virtual Task<IAsyncCursor<TProjection>> FindAsync<TProjection>(IClientSessionHandle session, FilterDefinition<TDocument> filter, FindOptions<TDocument, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
filterFilterDefinition<TDocument>The filter.
optionsFindOptions<TDocument, TProjection>The options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<IAsyncCursor<TProjection>>
A Task whose result is a cursor.
Type Parameters
TProjectionThe type of the projection (same as TDocument if there is no projection).
FindOneAndDeleteAsync<TProjection>(FilterDefinition<TDocument>, FindOneAndDeleteOptions<TDocument, TProjection>, CancellationToken)
Finds a single document and deletes it atomically.
public abstract Task<TProjection> FindOneAndDeleteAsync<TProjection>(FilterDefinition<TDocument> filter, FindOneAndDeleteOptions<TDocument, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
optionsFindOneAndDeleteOptions<TDocument, TProjection>The options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<TProjection>
The returned document.
Type Parameters
TProjectionThe type of the projection (same as TDocument if there is no projection).
FindOneAndDeleteAsync<TProjection>(IClientSessionHandle, FilterDefinition<TDocument>, FindOneAndDeleteOptions<TDocument, TProjection>, CancellationToken)
Finds a single document and deletes it atomically.
public virtual Task<TProjection> FindOneAndDeleteAsync<TProjection>(IClientSessionHandle session, FilterDefinition<TDocument> filter, FindOneAndDeleteOptions<TDocument, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
filterFilterDefinition<TDocument>The filter.
optionsFindOneAndDeleteOptions<TDocument, TProjection>The options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<TProjection>
The returned document.
Type Parameters
TProjectionThe type of the projection (same as TDocument if there is no projection).
FindOneAndDelete<TProjection>(FilterDefinition<TDocument>, FindOneAndDeleteOptions<TDocument, TProjection>, CancellationToken)
Finds a single document and deletes it atomically.
public virtual TProjection FindOneAndDelete<TProjection>(FilterDefinition<TDocument> filter, FindOneAndDeleteOptions<TDocument, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
optionsFindOneAndDeleteOptions<TDocument, TProjection>The options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- TProjection
The returned document.
Type Parameters
TProjectionThe type of the projection (same as TDocument if there is no projection).
FindOneAndDelete<TProjection>(IClientSessionHandle, FilterDefinition<TDocument>, FindOneAndDeleteOptions<TDocument, TProjection>, CancellationToken)
Finds a single document and deletes it atomically.
public virtual TProjection FindOneAndDelete<TProjection>(IClientSessionHandle session, FilterDefinition<TDocument> filter, FindOneAndDeleteOptions<TDocument, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
filterFilterDefinition<TDocument>The filter.
optionsFindOneAndDeleteOptions<TDocument, TProjection>The options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- TProjection
The returned document.
Type Parameters
TProjectionThe type of the projection (same as TDocument if there is no projection).
FindOneAndReplaceAsync<TProjection>(FilterDefinition<TDocument>, TDocument, FindOneAndReplaceOptions<TDocument, TProjection>, CancellationToken)
Finds a single document and replaces it atomically.
public abstract Task<TProjection> FindOneAndReplaceAsync<TProjection>(FilterDefinition<TDocument> filter, TDocument replacement, FindOneAndReplaceOptions<TDocument, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
replacementTDocumentThe replacement.
optionsFindOneAndReplaceOptions<TDocument, TProjection>The options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<TProjection>
The returned document.
Type Parameters
TProjectionThe type of the projection (same as TDocument if there is no projection).
FindOneAndReplaceAsync<TProjection>(IClientSessionHandle, FilterDefinition<TDocument>, TDocument, FindOneAndReplaceOptions<TDocument, TProjection>, CancellationToken)
Finds a single document and replaces it atomically.
public virtual Task<TProjection> FindOneAndReplaceAsync<TProjection>(IClientSessionHandle session, FilterDefinition<TDocument> filter, TDocument replacement, FindOneAndReplaceOptions<TDocument, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
filterFilterDefinition<TDocument>The filter.
replacementTDocumentThe replacement.
optionsFindOneAndReplaceOptions<TDocument, TProjection>The options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<TProjection>
The returned document.
Type Parameters
TProjectionThe type of the projection (same as TDocument if there is no projection).
FindOneAndReplace<TProjection>(FilterDefinition<TDocument>, TDocument, FindOneAndReplaceOptions<TDocument, TProjection>, CancellationToken)
Finds a single document and replaces it atomically.
public virtual TProjection FindOneAndReplace<TProjection>(FilterDefinition<TDocument> filter, TDocument replacement, FindOneAndReplaceOptions<TDocument, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
replacementTDocumentThe replacement.
optionsFindOneAndReplaceOptions<TDocument, TProjection>The options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- TProjection
The returned document.
Type Parameters
TProjectionThe type of the projection (same as TDocument if there is no projection).
FindOneAndReplace<TProjection>(IClientSessionHandle, FilterDefinition<TDocument>, TDocument, FindOneAndReplaceOptions<TDocument, TProjection>, CancellationToken)
Finds a single document and replaces it atomically.
public virtual TProjection FindOneAndReplace<TProjection>(IClientSessionHandle session, FilterDefinition<TDocument> filter, TDocument replacement, FindOneAndReplaceOptions<TDocument, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
filterFilterDefinition<TDocument>The filter.
replacementTDocumentThe replacement.
optionsFindOneAndReplaceOptions<TDocument, TProjection>The options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- TProjection
The returned document.
Type Parameters
TProjectionThe type of the projection (same as TDocument if there is no projection).
FindOneAndUpdateAsync<TProjection>(FilterDefinition<TDocument>, UpdateDefinition<TDocument>, FindOneAndUpdateOptions<TDocument, TProjection>, CancellationToken)
Finds a single document and updates it atomically.
public abstract Task<TProjection> FindOneAndUpdateAsync<TProjection>(FilterDefinition<TDocument> filter, UpdateDefinition<TDocument> update, FindOneAndUpdateOptions<TDocument, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
updateUpdateDefinition<TDocument>The update.
optionsFindOneAndUpdateOptions<TDocument, TProjection>The options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<TProjection>
The returned document.
Type Parameters
TProjectionThe type of the projection (same as TDocument if there is no projection).
FindOneAndUpdateAsync<TProjection>(IClientSessionHandle, FilterDefinition<TDocument>, UpdateDefinition<TDocument>, FindOneAndUpdateOptions<TDocument, TProjection>, CancellationToken)
Finds a single document and updates it atomically.
public virtual Task<TProjection> FindOneAndUpdateAsync<TProjection>(IClientSessionHandle session, FilterDefinition<TDocument> filter, UpdateDefinition<TDocument> update, FindOneAndUpdateOptions<TDocument, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
filterFilterDefinition<TDocument>The filter.
updateUpdateDefinition<TDocument>The update.
optionsFindOneAndUpdateOptions<TDocument, TProjection>The options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<TProjection>
The returned document.
Type Parameters
TProjectionThe type of the projection (same as TDocument if there is no projection).
FindOneAndUpdate<TProjection>(FilterDefinition<TDocument>, UpdateDefinition<TDocument>, FindOneAndUpdateOptions<TDocument, TProjection>, CancellationToken)
Finds a single document and updates it atomically.
public virtual TProjection FindOneAndUpdate<TProjection>(FilterDefinition<TDocument> filter, UpdateDefinition<TDocument> update, FindOneAndUpdateOptions<TDocument, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
updateUpdateDefinition<TDocument>The update.
optionsFindOneAndUpdateOptions<TDocument, TProjection>The options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- TProjection
The returned document.
Type Parameters
TProjectionThe type of the projection (same as TDocument if there is no projection).
FindOneAndUpdate<TProjection>(IClientSessionHandle, FilterDefinition<TDocument>, UpdateDefinition<TDocument>, FindOneAndUpdateOptions<TDocument, TProjection>, CancellationToken)
Finds a single document and updates it atomically.
public virtual TProjection FindOneAndUpdate<TProjection>(IClientSessionHandle session, FilterDefinition<TDocument> filter, UpdateDefinition<TDocument> update, FindOneAndUpdateOptions<TDocument, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
filterFilterDefinition<TDocument>The filter.
updateUpdateDefinition<TDocument>The update.
optionsFindOneAndUpdateOptions<TDocument, TProjection>The options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- TProjection
The returned document.
Type Parameters
TProjectionThe type of the projection (same as TDocument if there is no projection).
FindSync<TProjection>(FilterDefinition<TDocument>, FindOptions<TDocument, TProjection>, CancellationToken)
Finds the documents matching the filter.
public virtual IAsyncCursor<TProjection> FindSync<TProjection>(FilterDefinition<TDocument> filter, FindOptions<TDocument, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
optionsFindOptions<TDocument, TProjection>The options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- IAsyncCursor<TProjection>
A cursor.
Type Parameters
TProjectionThe type of the projection (same as TDocument if there is no projection).
FindSync<TProjection>(IClientSessionHandle, FilterDefinition<TDocument>, FindOptions<TDocument, TProjection>, CancellationToken)
Finds the documents matching the filter.
public virtual IAsyncCursor<TProjection> FindSync<TProjection>(IClientSessionHandle session, FilterDefinition<TDocument> filter, FindOptions<TDocument, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
filterFilterDefinition<TDocument>The filter.
optionsFindOptions<TDocument, TProjection>The options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- IAsyncCursor<TProjection>
A cursor.
Type Parameters
TProjectionThe type of the projection (same as TDocument if there is no projection).
InsertMany(IClientSessionHandle, IEnumerable<TDocument>, InsertManyOptions, CancellationToken)
Inserts many documents.
public virtual void InsertMany(IClientSessionHandle session, IEnumerable<TDocument> documents, InsertManyOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
documentsIEnumerable<TDocument>The documents.
optionsInsertManyOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
InsertMany(IEnumerable<TDocument>, InsertManyOptions, CancellationToken)
Inserts many documents.
public virtual void InsertMany(IEnumerable<TDocument> documents, InsertManyOptions options = null, CancellationToken cancellationToken = default)
Parameters
documentsIEnumerable<TDocument>The documents.
optionsInsertManyOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
InsertManyAsync(IClientSessionHandle, IEnumerable<TDocument>, InsertManyOptions, CancellationToken)
Inserts many documents.
public virtual Task InsertManyAsync(IClientSessionHandle session, IEnumerable<TDocument> documents, InsertManyOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
documentsIEnumerable<TDocument>The documents.
optionsInsertManyOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task
The result of the insert operation.
InsertManyAsync(IEnumerable<TDocument>, InsertManyOptions, CancellationToken)
Inserts many documents.
public virtual Task InsertManyAsync(IEnumerable<TDocument> documents, InsertManyOptions options = null, CancellationToken cancellationToken = default)
Parameters
documentsIEnumerable<TDocument>The documents.
optionsInsertManyOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task
The result of the insert operation.
InsertOne(IClientSessionHandle, TDocument, InsertOneOptions, CancellationToken)
Inserts a single document.
public virtual void InsertOne(IClientSessionHandle session, TDocument document, InsertOneOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
documentTDocumentThe document.
optionsInsertOneOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
InsertOne(TDocument, InsertOneOptions, CancellationToken)
Inserts a single document.
public virtual void InsertOne(TDocument document, InsertOneOptions options = null, CancellationToken cancellationToken = default)
Parameters
documentTDocumentThe document.
optionsInsertOneOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
InsertOneAsync(IClientSessionHandle, TDocument, InsertOneOptions, CancellationToken)
Inserts a single document.
public virtual Task InsertOneAsync(IClientSessionHandle session, TDocument document, InsertOneOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
documentTDocumentThe document.
optionsInsertOneOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task
The result of the insert operation.
InsertOneAsync(TDocument, InsertOneOptions, CancellationToken)
Inserts a single document.
public virtual Task InsertOneAsync(TDocument document, InsertOneOptions options = null, CancellationToken cancellationToken = default)
Parameters
documentTDocumentThe document.
optionsInsertOneOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task
The result of the insert operation.
InsertOneAsync(TDocument, CancellationToken)
Inserts a single document.
[Obsolete("Use the new overload of InsertOneAsync with an InsertOneOptions parameter instead.")]
public virtual Task InsertOneAsync(TDocument document, CancellationToken _cancellationToken)
Parameters
documentTDocumentThe document.
_cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task
The result of the insert operation.
MapReduceAsync<TResult>(BsonJavaScript, BsonJavaScript, MapReduceOptions<TDocument, TResult>, CancellationToken)
Executes a map-reduce command.
[Obsolete("Use Aggregation pipeline instead.")]
public abstract Task<IAsyncCursor<TResult>> MapReduceAsync<TResult>(BsonJavaScript map, BsonJavaScript reduce, MapReduceOptions<TDocument, TResult> options = null, CancellationToken cancellationToken = default)
Parameters
mapBsonJavaScriptThe map function.
reduceBsonJavaScriptThe reduce function.
optionsMapReduceOptions<TDocument, TResult>The options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<IAsyncCursor<TResult>>
A Task whose result is a cursor.
Type Parameters
TResultThe type of the result.
MapReduceAsync<TResult>(IClientSessionHandle, BsonJavaScript, BsonJavaScript, MapReduceOptions<TDocument, TResult>, CancellationToken)
Executes a map-reduce command.
[Obsolete("Use Aggregation pipeline instead.")]
public virtual Task<IAsyncCursor<TResult>> MapReduceAsync<TResult>(IClientSessionHandle session, BsonJavaScript map, BsonJavaScript reduce, MapReduceOptions<TDocument, TResult> options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
mapBsonJavaScriptThe map function.
reduceBsonJavaScriptThe reduce function.
optionsMapReduceOptions<TDocument, TResult>The options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<IAsyncCursor<TResult>>
A Task whose result is a cursor.
Type Parameters
TResultThe type of the result.
MapReduce<TResult>(BsonJavaScript, BsonJavaScript, MapReduceOptions<TDocument, TResult>, CancellationToken)
Executes a map-reduce command.
[Obsolete("Use Aggregation pipeline instead.")]
public virtual IAsyncCursor<TResult> MapReduce<TResult>(BsonJavaScript map, BsonJavaScript reduce, MapReduceOptions<TDocument, TResult> options = null, CancellationToken cancellationToken = default)
Parameters
mapBsonJavaScriptThe map function.
reduceBsonJavaScriptThe reduce function.
optionsMapReduceOptions<TDocument, TResult>The options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- IAsyncCursor<TResult>
A cursor.
Type Parameters
TResultThe type of the result.
MapReduce<TResult>(IClientSessionHandle, BsonJavaScript, BsonJavaScript, MapReduceOptions<TDocument, TResult>, CancellationToken)
Executes a map-reduce command.
[Obsolete("Use Aggregation pipeline instead.")]
public virtual IAsyncCursor<TResult> MapReduce<TResult>(IClientSessionHandle session, BsonJavaScript map, BsonJavaScript reduce, MapReduceOptions<TDocument, TResult> options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
mapBsonJavaScriptThe map function.
reduceBsonJavaScriptThe reduce function.
optionsMapReduceOptions<TDocument, TResult>The options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- IAsyncCursor<TResult>
A cursor.
Type Parameters
TResultThe type of the result.
OfType<TDerivedDocument>()
Returns a filtered collection that appears to contain only documents of the derived type. All operations using this filtered collection will automatically use discriminators as necessary.
public abstract IFilteredMongoCollection<TDerivedDocument> OfType<TDerivedDocument>() where TDerivedDocument : TDocument
Returns
- IFilteredMongoCollection<TDerivedDocument>
A filtered collection.
Type Parameters
TDerivedDocumentThe type of the derived document.
ReplaceOne(FilterDefinition<TDocument>, TDocument, ReplaceOptions, CancellationToken)
Replaces a single document.
public virtual ReplaceOneResult ReplaceOne(FilterDefinition<TDocument> filter, TDocument replacement, ReplaceOptions options = null, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
replacementTDocumentThe replacement.
optionsReplaceOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- ReplaceOneResult
The result of the replacement.
ReplaceOne(FilterDefinition<TDocument>, TDocument, UpdateOptions, CancellationToken)
Replaces a single document.
[Obsolete("Use the overload that takes a ReplaceOptions instead of an UpdateOptions.")]
public virtual ReplaceOneResult ReplaceOne(FilterDefinition<TDocument> filter, TDocument replacement, UpdateOptions options, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
replacementTDocumentThe replacement.
optionsUpdateOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- ReplaceOneResult
The result of the replacement.
ReplaceOne(IClientSessionHandle, FilterDefinition<TDocument>, TDocument, ReplaceOptions, CancellationToken)
Replaces a single document.
public virtual ReplaceOneResult ReplaceOne(IClientSessionHandle session, FilterDefinition<TDocument> filter, TDocument replacement, ReplaceOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
filterFilterDefinition<TDocument>The filter.
replacementTDocumentThe replacement.
optionsReplaceOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- ReplaceOneResult
The result of the replacement.
ReplaceOne(IClientSessionHandle, FilterDefinition<TDocument>, TDocument, UpdateOptions, CancellationToken)
Replaces a single document.
[Obsolete("Use the overload that takes a ReplaceOptions instead of an UpdateOptions.")]
public virtual ReplaceOneResult ReplaceOne(IClientSessionHandle session, FilterDefinition<TDocument> filter, TDocument replacement, UpdateOptions options, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
filterFilterDefinition<TDocument>The filter.
replacementTDocumentThe replacement.
optionsUpdateOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- ReplaceOneResult
The result of the replacement.
ReplaceOneAsync(FilterDefinition<TDocument>, TDocument, ReplaceOptions, CancellationToken)
Replaces a single document.
public virtual Task<ReplaceOneResult> ReplaceOneAsync(FilterDefinition<TDocument> filter, TDocument replacement, ReplaceOptions options = null, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
replacementTDocumentThe replacement.
optionsReplaceOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<ReplaceOneResult>
The result of the replacement.
ReplaceOneAsync(FilterDefinition<TDocument>, TDocument, UpdateOptions, CancellationToken)
Replaces a single document.
[Obsolete("Use the overload that takes a ReplaceOptions instead of an UpdateOptions.")]
public virtual Task<ReplaceOneResult> ReplaceOneAsync(FilterDefinition<TDocument> filter, TDocument replacement, UpdateOptions options, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
replacementTDocumentThe replacement.
optionsUpdateOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<ReplaceOneResult>
The result of the replacement.
ReplaceOneAsync(IClientSessionHandle, FilterDefinition<TDocument>, TDocument, ReplaceOptions, CancellationToken)
Replaces a single document.
public virtual Task<ReplaceOneResult> ReplaceOneAsync(IClientSessionHandle session, FilterDefinition<TDocument> filter, TDocument replacement, ReplaceOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
filterFilterDefinition<TDocument>The filter.
replacementTDocumentThe replacement.
optionsReplaceOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<ReplaceOneResult>
The result of the replacement.
ReplaceOneAsync(IClientSessionHandle, FilterDefinition<TDocument>, TDocument, UpdateOptions, CancellationToken)
Replaces a single document.
[Obsolete("Use the overload that takes a ReplaceOptions instead of an UpdateOptions.")]
public virtual Task<ReplaceOneResult> ReplaceOneAsync(IClientSessionHandle session, FilterDefinition<TDocument> filter, TDocument replacement, UpdateOptions options, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
filterFilterDefinition<TDocument>The filter.
replacementTDocumentThe replacement.
optionsUpdateOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<ReplaceOneResult>
The result of the replacement.
UpdateMany(FilterDefinition<TDocument>, UpdateDefinition<TDocument>, UpdateOptions, CancellationToken)
Updates many documents.
public virtual UpdateResult UpdateMany(FilterDefinition<TDocument> filter, UpdateDefinition<TDocument> update, UpdateOptions options = null, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
updateUpdateDefinition<TDocument>The update.
optionsUpdateOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- UpdateResult
The result of the update operation.
UpdateMany(IClientSessionHandle, FilterDefinition<TDocument>, UpdateDefinition<TDocument>, UpdateOptions, CancellationToken)
Updates many documents.
public virtual UpdateResult UpdateMany(IClientSessionHandle session, FilterDefinition<TDocument> filter, UpdateDefinition<TDocument> update, UpdateOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
filterFilterDefinition<TDocument>The filter.
updateUpdateDefinition<TDocument>The update.
optionsUpdateOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- UpdateResult
The result of the update operation.
UpdateManyAsync(FilterDefinition<TDocument>, UpdateDefinition<TDocument>, UpdateOptions, CancellationToken)
Updates many documents.
public virtual Task<UpdateResult> UpdateManyAsync(FilterDefinition<TDocument> filter, UpdateDefinition<TDocument> update, UpdateOptions options = null, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
updateUpdateDefinition<TDocument>The update.
optionsUpdateOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<UpdateResult>
The result of the update operation.
UpdateManyAsync(IClientSessionHandle, FilterDefinition<TDocument>, UpdateDefinition<TDocument>, UpdateOptions, CancellationToken)
Updates many documents.
public virtual Task<UpdateResult> UpdateManyAsync(IClientSessionHandle session, FilterDefinition<TDocument> filter, UpdateDefinition<TDocument> update, UpdateOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
filterFilterDefinition<TDocument>The filter.
updateUpdateDefinition<TDocument>The update.
optionsUpdateOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<UpdateResult>
The result of the update operation.
UpdateOne(FilterDefinition<TDocument>, UpdateDefinition<TDocument>, UpdateOptions, CancellationToken)
Updates a single document.
public virtual UpdateResult UpdateOne(FilterDefinition<TDocument> filter, UpdateDefinition<TDocument> update, UpdateOptions options = null, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
updateUpdateDefinition<TDocument>The update.
optionsUpdateOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- UpdateResult
The result of the update operation.
UpdateOne(IClientSessionHandle, FilterDefinition<TDocument>, UpdateDefinition<TDocument>, UpdateOptions, CancellationToken)
Updates a single document.
public virtual UpdateResult UpdateOne(IClientSessionHandle session, FilterDefinition<TDocument> filter, UpdateDefinition<TDocument> update, UpdateOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
filterFilterDefinition<TDocument>The filter.
updateUpdateDefinition<TDocument>The update.
optionsUpdateOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- UpdateResult
The result of the update operation.
UpdateOneAsync(FilterDefinition<TDocument>, UpdateDefinition<TDocument>, UpdateOptions, CancellationToken)
Updates a single document.
public virtual Task<UpdateResult> UpdateOneAsync(FilterDefinition<TDocument> filter, UpdateDefinition<TDocument> update, UpdateOptions options = null, CancellationToken cancellationToken = default)
Parameters
filterFilterDefinition<TDocument>The filter.
updateUpdateDefinition<TDocument>The update.
optionsUpdateOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<UpdateResult>
The result of the update operation.
UpdateOneAsync(IClientSessionHandle, FilterDefinition<TDocument>, UpdateDefinition<TDocument>, UpdateOptions, CancellationToken)
Updates a single document.
public virtual Task<UpdateResult> UpdateOneAsync(IClientSessionHandle session, FilterDefinition<TDocument> filter, UpdateDefinition<TDocument> update, UpdateOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
filterFilterDefinition<TDocument>The filter.
updateUpdateDefinition<TDocument>The update.
optionsUpdateOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<UpdateResult>
The result of the update operation.
WatchAsync<TResult>(IClientSessionHandle, PipelineDefinition<ChangeStreamDocument<TDocument>, TResult>, ChangeStreamOptions, CancellationToken)
Watches changes on the collection.
public virtual Task<IChangeStreamCursor<TResult>> WatchAsync<TResult>(IClientSessionHandle session, PipelineDefinition<ChangeStreamDocument<TDocument>, TResult> pipeline, ChangeStreamOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
pipelinePipelineDefinition<ChangeStreamDocument<TDocument>, TResult>The pipeline.
optionsChangeStreamOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<IChangeStreamCursor<TResult>>
A change stream.
Type Parameters
TResultThe type of the result.
WatchAsync<TResult>(PipelineDefinition<ChangeStreamDocument<TDocument>, TResult>, ChangeStreamOptions, CancellationToken)
Watches changes on the collection.
public virtual Task<IChangeStreamCursor<TResult>> WatchAsync<TResult>(PipelineDefinition<ChangeStreamDocument<TDocument>, TResult> pipeline, ChangeStreamOptions options = null, CancellationToken cancellationToken = default)
Parameters
pipelinePipelineDefinition<ChangeStreamDocument<TDocument>, TResult>The pipeline.
optionsChangeStreamOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<IChangeStreamCursor<TResult>>
A change stream.
Type Parameters
TResultThe type of the result.
Watch<TResult>(IClientSessionHandle, PipelineDefinition<ChangeStreamDocument<TDocument>, TResult>, ChangeStreamOptions, CancellationToken)
Watches changes on the collection.
public virtual IChangeStreamCursor<TResult> Watch<TResult>(IClientSessionHandle session, PipelineDefinition<ChangeStreamDocument<TDocument>, TResult> pipeline, ChangeStreamOptions options = null, CancellationToken cancellationToken = default)
Parameters
sessionIClientSessionHandleThe session.
pipelinePipelineDefinition<ChangeStreamDocument<TDocument>, TResult>The pipeline.
optionsChangeStreamOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- IChangeStreamCursor<TResult>
A change stream.
Type Parameters
TResultThe type of the result.
Watch<TResult>(PipelineDefinition<ChangeStreamDocument<TDocument>, TResult>, ChangeStreamOptions, CancellationToken)
Watches changes on the collection.
public virtual IChangeStreamCursor<TResult> Watch<TResult>(PipelineDefinition<ChangeStreamDocument<TDocument>, TResult> pipeline, ChangeStreamOptions options = null, CancellationToken cancellationToken = default)
Parameters
pipelinePipelineDefinition<ChangeStreamDocument<TDocument>, TResult>The pipeline.
optionsChangeStreamOptionsThe options.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- IChangeStreamCursor<TResult>
A change stream.
Type Parameters
TResultThe type of the result.
WithReadConcern(ReadConcern)
Returns a new IMongoCollection instance with a different read concern setting.
public virtual IMongoCollection<TDocument> WithReadConcern(ReadConcern readConcern)
Parameters
readConcernReadConcernThe read concern.
Returns
- IMongoCollection<TDocument>
A new IMongoCollection instance with a different read concern setting.
WithReadPreference(ReadPreference)
Returns a new IMongoCollection instance with a different read preference setting.
public abstract IMongoCollection<TDocument> WithReadPreference(ReadPreference readPreference)
Parameters
readPreferenceReadPreferenceThe read preference.
Returns
- IMongoCollection<TDocument>
A new IMongoCollection instance with a different read preference setting.
WithWriteConcern(WriteConcern)
Returns a new IMongoCollection instance with a different write concern setting.
public abstract IMongoCollection<TDocument> WithWriteConcern(WriteConcern writeConcern)
Parameters
writeConcernWriteConcernThe write concern.
Returns
- IMongoCollection<TDocument>
A new IMongoCollection instance with a different write concern setting.