Class MongoCollectionAdapter<T>
- Namespace
- Cratis.Applications.MongoDB
- Assembly
- Cratis.Applications.MongoDB.dll
Represents an adapter for MongoDB.Driver.IMongoCollection<TDocument> to overcome shortcomings of open generic service registrations with the default ServiceCollection registrations.
public class MongoCollectionAdapter<T> : IMongoCollection<T>
Type Parameters
T
Type of model.
- Inheritance
-
MongoCollectionAdapter<T>
- Implements
-
IMongoCollection<T>
- Inherited Members
- Extension Methods
Remarks
With the default registrations in ServiceCollection, it is not possible to register an open generic service with a factory that resolves the type arguments from a context. The factory is represented as a Func<T, TResult> giving you the IServiceProvider and not the context with the service being resolved which would enable us to get the generic argument and resolve the correct MongoDB.Driver.IMongoCollection<TDocument> type from the MongoDB.Driver.IMongoDatabase. However, it is supported to do a service registration with open generics without a factory. So instead we put this in between and just forward the calls to the actual MongoDB.Driver.IMongoCollection<TDocument> which we resolve from the MongoDB.Driver.IMongoDatabase coming as a dependency.
Constructors
MongoCollectionAdapter(IMongoDatabase)
Represents an adapter for MongoDB.Driver.IMongoCollection<TDocument> to overcome shortcomings of open generic service registrations with the default ServiceCollection registrations.
public MongoCollectionAdapter(IMongoDatabase database)
Parameters
database
IMongoDatabaseMongoDB.Driver.IMongoDatabase to use.
Remarks
With the default registrations in ServiceCollection, it is not possible to register an open generic service with a factory that resolves the type arguments from a context. The factory is represented as a Func<T, TResult> giving you the IServiceProvider and not the context with the service being resolved which would enable us to get the generic argument and resolve the correct MongoDB.Driver.IMongoCollection<TDocument> type from the MongoDB.Driver.IMongoDatabase. However, it is supported to do a service registration with open generics without a factory. So instead we put this in between and just forward the calls to the actual MongoDB.Driver.IMongoCollection<TDocument> which we resolve from the MongoDB.Driver.IMongoDatabase coming as a dependency.
Properties
CollectionNamespace
Gets the namespace of the collection.
public CollectionNamespace CollectionNamespace { get; }
Property Value
- CollectionNamespace
Database
Gets the database.
public IMongoDatabase Database { get; }
Property Value
- IMongoDatabase
DocumentSerializer
Gets the document serializer.
public IBsonSerializer<T> DocumentSerializer { get; }
Property Value
- IBsonSerializer<T>
Indexes
Gets the index manager.
public IMongoIndexManager<T> Indexes { get; }
Property Value
- IMongoIndexManager<T>
SearchIndexes
Gets the search index manager.
public IMongoSearchIndexManager SearchIndexes { get; }
Property Value
- IMongoSearchIndexManager
Settings
Gets the settings.
public MongoCollectionSettings Settings { get; }
Property Value
- MongoCollectionSettings
Methods
AggregateAsync<TResult>(IClientSessionHandle, PipelineDefinition<T, TResult>, AggregateOptions, CancellationToken)
Runs an aggregation pipeline.
public Task<IAsyncCursor<TResult>> AggregateAsync<TResult>(IClientSessionHandle session, PipelineDefinition<T, TResult> pipeline, AggregateOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
pipeline
PipelineDefinition<T, TResult>The pipeline.
options
AggregateOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<IAsyncCursor<TResult>>
A Task whose result is a cursor.
Type Parameters
TResult
The type of the result.
AggregateAsync<TResult>(PipelineDefinition<T, TResult>, AggregateOptions, CancellationToken)
Runs an aggregation pipeline.
public Task<IAsyncCursor<TResult>> AggregateAsync<TResult>(PipelineDefinition<T, TResult> pipeline, AggregateOptions options = null, CancellationToken cancellationToken = default)
Parameters
pipeline
PipelineDefinition<T, TResult>The pipeline.
options
AggregateOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<IAsyncCursor<TResult>>
A Task whose result is a cursor.
Type Parameters
TResult
The type of the result.
AggregateToCollectionAsync<TResult>(IClientSessionHandle, PipelineDefinition<T, TResult>, AggregateOptions, CancellationToken)
Runs an aggregation pipeline whose results are written to a collection.
public Task AggregateToCollectionAsync<TResult>(IClientSessionHandle session, PipelineDefinition<T, TResult> pipeline, AggregateOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
pipeline
PipelineDefinition<T, TResult>The pipeline.
options
AggregateOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task
A Task.
Type Parameters
TResult
The type of the result.
AggregateToCollectionAsync<TResult>(PipelineDefinition<T, TResult>, AggregateOptions, CancellationToken)
Runs an aggregation pipeline whose results are written to a collection.
public Task AggregateToCollectionAsync<TResult>(PipelineDefinition<T, TResult> pipeline, AggregateOptions options = null, CancellationToken cancellationToken = default)
Parameters
pipeline
PipelineDefinition<T, TResult>The pipeline.
options
AggregateOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task
A Task.
Type Parameters
TResult
The type of the result.
AggregateToCollection<TResult>(IClientSessionHandle, PipelineDefinition<T, TResult>, AggregateOptions, CancellationToken)
Runs an aggregation pipeline whose results are written to a collection.
public void AggregateToCollection<TResult>(IClientSessionHandle session, PipelineDefinition<T, TResult> pipeline, AggregateOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
pipeline
PipelineDefinition<T, TResult>The pipeline.
options
AggregateOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Type Parameters
TResult
The type of the result.
AggregateToCollection<TResult>(PipelineDefinition<T, TResult>, AggregateOptions, CancellationToken)
Runs an aggregation pipeline whose results are written to a collection.
public void AggregateToCollection<TResult>(PipelineDefinition<T, TResult> pipeline, AggregateOptions options = null, CancellationToken cancellationToken = default)
Parameters
pipeline
PipelineDefinition<T, TResult>The pipeline.
options
AggregateOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Type Parameters
TResult
The type of the result.
Aggregate<TResult>(IClientSessionHandle, PipelineDefinition<T, TResult>, AggregateOptions, CancellationToken)
Runs an aggregation pipeline.
public IAsyncCursor<TResult> Aggregate<TResult>(IClientSessionHandle session, PipelineDefinition<T, TResult> pipeline, AggregateOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
pipeline
PipelineDefinition<T, TResult>The pipeline.
options
AggregateOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- IAsyncCursor<TResult>
A cursor.
Type Parameters
TResult
The type of the result.
Aggregate<TResult>(PipelineDefinition<T, TResult>, AggregateOptions, CancellationToken)
Runs an aggregation pipeline.
public IAsyncCursor<TResult> Aggregate<TResult>(PipelineDefinition<T, TResult> pipeline, AggregateOptions options = null, CancellationToken cancellationToken = default)
Parameters
pipeline
PipelineDefinition<T, TResult>The pipeline.
options
AggregateOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- IAsyncCursor<TResult>
A cursor.
Type Parameters
TResult
The type of the result.
BulkWrite(IClientSessionHandle, IEnumerable<WriteModel<T>>, BulkWriteOptions, CancellationToken)
Performs multiple write operations.
public BulkWriteResult<T> BulkWrite(IClientSessionHandle session, IEnumerable<WriteModel<T>> requests, BulkWriteOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
requests
IEnumerable<WriteModel<T>>The requests.
options
BulkWriteOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- BulkWriteResult<T>
The result of writing.
BulkWrite(IEnumerable<WriteModel<T>>, BulkWriteOptions, CancellationToken)
Performs multiple write operations.
public BulkWriteResult<T> BulkWrite(IEnumerable<WriteModel<T>> requests, BulkWriteOptions options = null, CancellationToken cancellationToken = default)
Parameters
requests
IEnumerable<WriteModel<T>>The requests.
options
BulkWriteOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- BulkWriteResult<T>
The result of writing.
BulkWriteAsync(IClientSessionHandle, IEnumerable<WriteModel<T>>, BulkWriteOptions, CancellationToken)
Performs multiple write operations.
public Task<BulkWriteResult<T>> BulkWriteAsync(IClientSessionHandle session, IEnumerable<WriteModel<T>> requests, BulkWriteOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
requests
IEnumerable<WriteModel<T>>The requests.
options
BulkWriteOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<BulkWriteResult<T>>
The result of writing.
BulkWriteAsync(IEnumerable<WriteModel<T>>, BulkWriteOptions, CancellationToken)
Performs multiple write operations.
public Task<BulkWriteResult<T>> BulkWriteAsync(IEnumerable<WriteModel<T>> requests, BulkWriteOptions options = null, CancellationToken cancellationToken = default)
Parameters
requests
IEnumerable<WriteModel<T>>The requests.
options
BulkWriteOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<BulkWriteResult<T>>
The result of writing.
Count(FilterDefinition<T>, CountOptions, CancellationToken)
Counts the number of documents in the collection.
public long Count(FilterDefinition<T> filter, CountOptions options = null, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
options
CountOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- long
The number of documents in the collection.
Count(IClientSessionHandle, FilterDefinition<T>, CountOptions, CancellationToken)
Counts the number of documents in the collection.
public long Count(IClientSessionHandle session, FilterDefinition<T> filter, CountOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
filter
FilterDefinition<T>The filter.
options
CountOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- long
The number of documents in the collection.
CountAsync(FilterDefinition<T>, CountOptions, CancellationToken)
Counts the number of documents in the collection.
public Task<long> CountAsync(FilterDefinition<T> filter, CountOptions options = null, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
options
CountOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
CountAsync(IClientSessionHandle, FilterDefinition<T>, CountOptions, CancellationToken)
Counts the number of documents in the collection.
public Task<long> CountAsync(IClientSessionHandle session, FilterDefinition<T> filter, CountOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
filter
FilterDefinition<T>The filter.
options
CountOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
CountDocuments(FilterDefinition<T>, 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 long CountDocuments(FilterDefinition<T> filter, CountOptions options = null, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
options
CountOptionsThe options.
cancellationToken
CancellationTokenThe 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<T>, 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 long CountDocuments(IClientSessionHandle session, FilterDefinition<T> filter, CountOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
filter
FilterDefinition<T>The filter.
options
CountOptionsThe options.
cancellationToken
CancellationTokenThe 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<T>, CountOptions, CancellationToken)
Counts the number of documents in the collection.
For a fast estimate of the total documents in a collection see
public Task<long> CountDocumentsAsync(FilterDefinition<T> filter, CountOptions options = null, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
options
CountOptionsThe options.
cancellationToken
CancellationTokenThe 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<T>, 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 Task<long> CountDocumentsAsync(IClientSessionHandle session, FilterDefinition<T> filter, CountOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
filter
FilterDefinition<T>The filter.
options
CountOptionsThe options.
cancellationToken
CancellationTokenThe 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<T>, DeleteOptions, CancellationToken)
Deletes multiple documents.
public DeleteResult DeleteMany(FilterDefinition<T> filter, DeleteOptions options, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
options
DeleteOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- DeleteResult
The result of the delete operation.
DeleteMany(FilterDefinition<T>, CancellationToken)
Deletes multiple documents.
public DeleteResult DeleteMany(FilterDefinition<T> filter, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- DeleteResult
The result of the delete operation.
DeleteMany(IClientSessionHandle, FilterDefinition<T>, DeleteOptions, CancellationToken)
Deletes multiple documents.
public DeleteResult DeleteMany(IClientSessionHandle session, FilterDefinition<T> filter, DeleteOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
filter
FilterDefinition<T>The filter.
options
DeleteOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- DeleteResult
The result of the delete operation.
DeleteManyAsync(FilterDefinition<T>, DeleteOptions, CancellationToken)
Deletes multiple documents.
public Task<DeleteResult> DeleteManyAsync(FilterDefinition<T> filter, DeleteOptions options, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
options
DeleteOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<DeleteResult>
The result of the delete operation.
DeleteManyAsync(FilterDefinition<T>, CancellationToken)
Deletes multiple documents.
public Task<DeleteResult> DeleteManyAsync(FilterDefinition<T> filter, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<DeleteResult>
The result of the delete operation.
DeleteManyAsync(IClientSessionHandle, FilterDefinition<T>, DeleteOptions, CancellationToken)
Deletes multiple documents.
public Task<DeleteResult> DeleteManyAsync(IClientSessionHandle session, FilterDefinition<T> filter, DeleteOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
filter
FilterDefinition<T>The filter.
options
DeleteOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<DeleteResult>
The result of the delete operation.
DeleteOne(FilterDefinition<T>, DeleteOptions, CancellationToken)
Deletes a single document.
public DeleteResult DeleteOne(FilterDefinition<T> filter, DeleteOptions options, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
options
DeleteOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- DeleteResult
The result of the delete operation.
DeleteOne(FilterDefinition<T>, CancellationToken)
Deletes a single document.
public DeleteResult DeleteOne(FilterDefinition<T> filter, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- DeleteResult
The result of the delete operation.
DeleteOne(IClientSessionHandle, FilterDefinition<T>, DeleteOptions, CancellationToken)
Deletes a single document.
public DeleteResult DeleteOne(IClientSessionHandle session, FilterDefinition<T> filter, DeleteOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
filter
FilterDefinition<T>The filter.
options
DeleteOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- DeleteResult
The result of the delete operation.
DeleteOneAsync(FilterDefinition<T>, DeleteOptions, CancellationToken)
Deletes a single document.
public Task<DeleteResult> DeleteOneAsync(FilterDefinition<T> filter, DeleteOptions options, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
options
DeleteOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<DeleteResult>
The result of the delete operation.
DeleteOneAsync(FilterDefinition<T>, CancellationToken)
Deletes a single document.
public Task<DeleteResult> DeleteOneAsync(FilterDefinition<T> filter, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<DeleteResult>
The result of the delete operation.
DeleteOneAsync(IClientSessionHandle, FilterDefinition<T>, DeleteOptions, CancellationToken)
Deletes a single document.
public Task<DeleteResult> DeleteOneAsync(IClientSessionHandle session, FilterDefinition<T> filter, DeleteOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
filter
FilterDefinition<T>The filter.
options
DeleteOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<DeleteResult>
The result of the delete operation.
DistinctAsync<TField>(FieldDefinition<T, TField>, FilterDefinition<T>, DistinctOptions, CancellationToken)
Gets the distinct values for a specified field.
public Task<IAsyncCursor<TField>> DistinctAsync<TField>(FieldDefinition<T, TField> field, FilterDefinition<T> filter, DistinctOptions options = null, CancellationToken cancellationToken = default)
Parameters
field
FieldDefinition<T, TField>The field.
filter
FilterDefinition<T>The filter.
options
DistinctOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<IAsyncCursor<TField>>
A Task whose result is a cursor.
Type Parameters
TField
The type of the result.
DistinctAsync<TField>(IClientSessionHandle, FieldDefinition<T, TField>, FilterDefinition<T>, DistinctOptions, CancellationToken)
Gets the distinct values for a specified field.
public Task<IAsyncCursor<TField>> DistinctAsync<TField>(IClientSessionHandle session, FieldDefinition<T, TField> field, FilterDefinition<T> filter, DistinctOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
field
FieldDefinition<T, TField>The field.
filter
FilterDefinition<T>The filter.
options
DistinctOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<IAsyncCursor<TField>>
A Task whose result is a cursor.
Type Parameters
TField
The type of the result.
DistinctManyAsync<TItem>(FieldDefinition<T, IEnumerable<TItem>>, FilterDefinition<T>, DistinctOptions, CancellationToken)
Gets the distinct values for a specified array field.
public Task<IAsyncCursor<TItem>> DistinctManyAsync<TItem>(FieldDefinition<T, IEnumerable<TItem>> field, FilterDefinition<T> filter, DistinctOptions options = null, CancellationToken cancellationToken = default)
Parameters
field
FieldDefinition<T, IEnumerable<TItem>>The field.
filter
FilterDefinition<T>The filter.
options
DistinctOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<IAsyncCursor<TItem>>
A cursor.
Type Parameters
TItem
The type of the array items.
DistinctManyAsync<TItem>(IClientSessionHandle, FieldDefinition<T, IEnumerable<TItem>>, FilterDefinition<T>, DistinctOptions, CancellationToken)
Gets the distinct values for a specified array field.
public Task<IAsyncCursor<TItem>> DistinctManyAsync<TItem>(IClientSessionHandle session, FieldDefinition<T, IEnumerable<TItem>> field, FilterDefinition<T> filter, DistinctOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
field
FieldDefinition<T, IEnumerable<TItem>>The field.
filter
FilterDefinition<T>The filter.
options
DistinctOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<IAsyncCursor<TItem>>
A cursor.
Type Parameters
TItem
The type of the array items.
DistinctMany<TItem>(FieldDefinition<T, IEnumerable<TItem>>, FilterDefinition<T>, DistinctOptions, CancellationToken)
Gets the distinct values for a specified array field.
public IAsyncCursor<TItem> DistinctMany<TItem>(FieldDefinition<T, IEnumerable<TItem>> field, FilterDefinition<T> filter, DistinctOptions options = null, CancellationToken cancellationToken = default)
Parameters
field
FieldDefinition<T, IEnumerable<TItem>>The field.
filter
FilterDefinition<T>The filter.
options
DistinctOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- IAsyncCursor<TItem>
A cursor.
Type Parameters
TItem
The type of the array items.
DistinctMany<TItem>(IClientSessionHandle, FieldDefinition<T, IEnumerable<TItem>>, FilterDefinition<T>, DistinctOptions, CancellationToken)
Gets the distinct values for a specified array field.
public IAsyncCursor<TItem> DistinctMany<TItem>(IClientSessionHandle session, FieldDefinition<T, IEnumerable<TItem>> field, FilterDefinition<T> filter, DistinctOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
field
FieldDefinition<T, IEnumerable<TItem>>The field.
filter
FilterDefinition<T>The filter.
options
DistinctOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- IAsyncCursor<TItem>
A cursor.
Type Parameters
TItem
The type of the array items.
Distinct<TField>(FieldDefinition<T, TField>, FilterDefinition<T>, DistinctOptions, CancellationToken)
Gets the distinct values for a specified field.
public IAsyncCursor<TField> Distinct<TField>(FieldDefinition<T, TField> field, FilterDefinition<T> filter, DistinctOptions options = null, CancellationToken cancellationToken = default)
Parameters
field
FieldDefinition<T, TField>The field.
filter
FilterDefinition<T>The filter.
options
DistinctOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- IAsyncCursor<TField>
A cursor.
Type Parameters
TField
The type of the result.
Distinct<TField>(IClientSessionHandle, FieldDefinition<T, TField>, FilterDefinition<T>, DistinctOptions, CancellationToken)
Gets the distinct values for a specified field.
public IAsyncCursor<TField> Distinct<TField>(IClientSessionHandle session, FieldDefinition<T, TField> field, FilterDefinition<T> filter, DistinctOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
field
FieldDefinition<T, TField>The field.
filter
FilterDefinition<T>The filter.
options
DistinctOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- IAsyncCursor<TField>
A cursor.
Type Parameters
TField
The type of the result.
EstimatedDocumentCount(EstimatedDocumentCountOptions, CancellationToken)
Returns an estimate of the number of documents in the collection.
public long EstimatedDocumentCount(EstimatedDocumentCountOptions options = null, CancellationToken cancellationToken = default)
Parameters
options
EstimatedDocumentCountOptionsThe options.
cancellationToken
CancellationTokenThe 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 Task<long> EstimatedDocumentCountAsync(EstimatedDocumentCountOptions options = null, CancellationToken cancellationToken = default)
Parameters
options
EstimatedDocumentCountOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
FindAsync<TProjection>(FilterDefinition<T>, FindOptions<T, TProjection>, CancellationToken)
Finds the documents matching the filter.
public Task<IAsyncCursor<TProjection>> FindAsync<TProjection>(FilterDefinition<T> filter, FindOptions<T, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
options
FindOptions<T, TProjection>The options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<IAsyncCursor<TProjection>>
A Task whose result is a cursor.
Type Parameters
TProjection
The type of the projection (same as TDocument if there is no projection).
FindAsync<TProjection>(IClientSessionHandle, FilterDefinition<T>, FindOptions<T, TProjection>, CancellationToken)
Finds the documents matching the filter.
public Task<IAsyncCursor<TProjection>> FindAsync<TProjection>(IClientSessionHandle session, FilterDefinition<T> filter, FindOptions<T, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
filter
FilterDefinition<T>The filter.
options
FindOptions<T, TProjection>The options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<IAsyncCursor<TProjection>>
A Task whose result is a cursor.
Type Parameters
TProjection
The type of the projection (same as TDocument if there is no projection).
FindOneAndDeleteAsync<TProjection>(FilterDefinition<T>, FindOneAndDeleteOptions<T, TProjection>, CancellationToken)
Finds a single document and deletes it atomically.
public Task<TProjection> FindOneAndDeleteAsync<TProjection>(FilterDefinition<T> filter, FindOneAndDeleteOptions<T, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
options
FindOneAndDeleteOptions<T, TProjection>The options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<TProjection>
The returned document.
Type Parameters
TProjection
The type of the projection (same as TDocument if there is no projection).
FindOneAndDeleteAsync<TProjection>(IClientSessionHandle, FilterDefinition<T>, FindOneAndDeleteOptions<T, TProjection>, CancellationToken)
Finds a single document and deletes it atomically.
public Task<TProjection> FindOneAndDeleteAsync<TProjection>(IClientSessionHandle session, FilterDefinition<T> filter, FindOneAndDeleteOptions<T, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
filter
FilterDefinition<T>The filter.
options
FindOneAndDeleteOptions<T, TProjection>The options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<TProjection>
The returned document.
Type Parameters
TProjection
The type of the projection (same as TDocument if there is no projection).
FindOneAndDelete<TProjection>(FilterDefinition<T>, FindOneAndDeleteOptions<T, TProjection>, CancellationToken)
Finds a single document and deletes it atomically.
public TProjection FindOneAndDelete<TProjection>(FilterDefinition<T> filter, FindOneAndDeleteOptions<T, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
options
FindOneAndDeleteOptions<T, TProjection>The options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- TProjection
The returned document.
Type Parameters
TProjection
The type of the projection (same as TDocument if there is no projection).
FindOneAndDelete<TProjection>(IClientSessionHandle, FilterDefinition<T>, FindOneAndDeleteOptions<T, TProjection>, CancellationToken)
Finds a single document and deletes it atomically.
public TProjection FindOneAndDelete<TProjection>(IClientSessionHandle session, FilterDefinition<T> filter, FindOneAndDeleteOptions<T, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
filter
FilterDefinition<T>The filter.
options
FindOneAndDeleteOptions<T, TProjection>The options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- TProjection
The returned document.
Type Parameters
TProjection
The type of the projection (same as TDocument if there is no projection).
FindOneAndReplaceAsync<TProjection>(FilterDefinition<T>, T, FindOneAndReplaceOptions<T, TProjection>, CancellationToken)
Finds a single document and replaces it atomically.
public Task<TProjection> FindOneAndReplaceAsync<TProjection>(FilterDefinition<T> filter, T replacement, FindOneAndReplaceOptions<T, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
replacement
TThe replacement.
options
FindOneAndReplaceOptions<T, TProjection>The options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<TProjection>
The returned document.
Type Parameters
TProjection
The type of the projection (same as TDocument if there is no projection).
FindOneAndReplaceAsync<TProjection>(IClientSessionHandle, FilterDefinition<T>, T, FindOneAndReplaceOptions<T, TProjection>, CancellationToken)
Finds a single document and replaces it atomically.
public Task<TProjection> FindOneAndReplaceAsync<TProjection>(IClientSessionHandle session, FilterDefinition<T> filter, T replacement, FindOneAndReplaceOptions<T, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
filter
FilterDefinition<T>The filter.
replacement
TThe replacement.
options
FindOneAndReplaceOptions<T, TProjection>The options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<TProjection>
The returned document.
Type Parameters
TProjection
The type of the projection (same as TDocument if there is no projection).
FindOneAndReplace<TProjection>(FilterDefinition<T>, T, FindOneAndReplaceOptions<T, TProjection>, CancellationToken)
Finds a single document and replaces it atomically.
public TProjection FindOneAndReplace<TProjection>(FilterDefinition<T> filter, T replacement, FindOneAndReplaceOptions<T, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
replacement
TThe replacement.
options
FindOneAndReplaceOptions<T, TProjection>The options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- TProjection
The returned document.
Type Parameters
TProjection
The type of the projection (same as TDocument if there is no projection).
FindOneAndReplace<TProjection>(IClientSessionHandle, FilterDefinition<T>, T, FindOneAndReplaceOptions<T, TProjection>, CancellationToken)
Finds a single document and replaces it atomically.
public TProjection FindOneAndReplace<TProjection>(IClientSessionHandle session, FilterDefinition<T> filter, T replacement, FindOneAndReplaceOptions<T, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
filter
FilterDefinition<T>The filter.
replacement
TThe replacement.
options
FindOneAndReplaceOptions<T, TProjection>The options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- TProjection
The returned document.
Type Parameters
TProjection
The type of the projection (same as TDocument if there is no projection).
FindOneAndUpdateAsync<TProjection>(FilterDefinition<T>, UpdateDefinition<T>, FindOneAndUpdateOptions<T, TProjection>, CancellationToken)
Finds a single document and updates it atomically.
public Task<TProjection> FindOneAndUpdateAsync<TProjection>(FilterDefinition<T> filter, UpdateDefinition<T> update, FindOneAndUpdateOptions<T, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
update
UpdateDefinition<T>The update.
options
FindOneAndUpdateOptions<T, TProjection>The options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<TProjection>
The returned document.
Type Parameters
TProjection
The type of the projection (same as TDocument if there is no projection).
FindOneAndUpdateAsync<TProjection>(IClientSessionHandle, FilterDefinition<T>, UpdateDefinition<T>, FindOneAndUpdateOptions<T, TProjection>, CancellationToken)
Finds a single document and updates it atomically.
public Task<TProjection> FindOneAndUpdateAsync<TProjection>(IClientSessionHandle session, FilterDefinition<T> filter, UpdateDefinition<T> update, FindOneAndUpdateOptions<T, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
filter
FilterDefinition<T>The filter.
update
UpdateDefinition<T>The update.
options
FindOneAndUpdateOptions<T, TProjection>The options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<TProjection>
The returned document.
Type Parameters
TProjection
The type of the projection (same as TDocument if there is no projection).
FindOneAndUpdate<TProjection>(FilterDefinition<T>, UpdateDefinition<T>, FindOneAndUpdateOptions<T, TProjection>, CancellationToken)
Finds a single document and updates it atomically.
public TProjection FindOneAndUpdate<TProjection>(FilterDefinition<T> filter, UpdateDefinition<T> update, FindOneAndUpdateOptions<T, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
update
UpdateDefinition<T>The update.
options
FindOneAndUpdateOptions<T, TProjection>The options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- TProjection
The returned document.
Type Parameters
TProjection
The type of the projection (same as TDocument if there is no projection).
FindOneAndUpdate<TProjection>(IClientSessionHandle, FilterDefinition<T>, UpdateDefinition<T>, FindOneAndUpdateOptions<T, TProjection>, CancellationToken)
Finds a single document and updates it atomically.
public TProjection FindOneAndUpdate<TProjection>(IClientSessionHandle session, FilterDefinition<T> filter, UpdateDefinition<T> update, FindOneAndUpdateOptions<T, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
filter
FilterDefinition<T>The filter.
update
UpdateDefinition<T>The update.
options
FindOneAndUpdateOptions<T, TProjection>The options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- TProjection
The returned document.
Type Parameters
TProjection
The type of the projection (same as TDocument if there is no projection).
FindSync<TProjection>(FilterDefinition<T>, FindOptions<T, TProjection>, CancellationToken)
Finds the documents matching the filter.
public IAsyncCursor<TProjection> FindSync<TProjection>(FilterDefinition<T> filter, FindOptions<T, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
options
FindOptions<T, TProjection>The options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- IAsyncCursor<TProjection>
A cursor.
Type Parameters
TProjection
The type of the projection (same as TDocument if there is no projection).
FindSync<TProjection>(IClientSessionHandle, FilterDefinition<T>, FindOptions<T, TProjection>, CancellationToken)
Finds the documents matching the filter.
public IAsyncCursor<TProjection> FindSync<TProjection>(IClientSessionHandle session, FilterDefinition<T> filter, FindOptions<T, TProjection> options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
filter
FilterDefinition<T>The filter.
options
FindOptions<T, TProjection>The options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- IAsyncCursor<TProjection>
A cursor.
Type Parameters
TProjection
The type of the projection (same as TDocument if there is no projection).
InsertMany(IClientSessionHandle, IEnumerable<T>, InsertManyOptions, CancellationToken)
Inserts many documents.
public void InsertMany(IClientSessionHandle session, IEnumerable<T> documents, InsertManyOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
documents
IEnumerable<T>The documents.
options
InsertManyOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
InsertMany(IEnumerable<T>, InsertManyOptions, CancellationToken)
Inserts many documents.
public void InsertMany(IEnumerable<T> documents, InsertManyOptions options = null, CancellationToken cancellationToken = default)
Parameters
documents
IEnumerable<T>The documents.
options
InsertManyOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
InsertManyAsync(IClientSessionHandle, IEnumerable<T>, InsertManyOptions, CancellationToken)
Inserts many documents.
public Task InsertManyAsync(IClientSessionHandle session, IEnumerable<T> documents, InsertManyOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
documents
IEnumerable<T>The documents.
options
InsertManyOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task
The result of the insert operation.
InsertManyAsync(IEnumerable<T>, InsertManyOptions, CancellationToken)
Inserts many documents.
public Task InsertManyAsync(IEnumerable<T> documents, InsertManyOptions options = null, CancellationToken cancellationToken = default)
Parameters
documents
IEnumerable<T>The documents.
options
InsertManyOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task
The result of the insert operation.
InsertOne(IClientSessionHandle, T, InsertOneOptions, CancellationToken)
Inserts a single document.
public void InsertOne(IClientSessionHandle session, T document, InsertOneOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
document
TThe document.
options
InsertOneOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
InsertOne(T, InsertOneOptions, CancellationToken)
Inserts a single document.
public void InsertOne(T document, InsertOneOptions options = null, CancellationToken cancellationToken = default)
Parameters
document
TThe document.
options
InsertOneOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
InsertOneAsync(IClientSessionHandle, T, InsertOneOptions, CancellationToken)
Inserts a single document.
public Task InsertOneAsync(IClientSessionHandle session, T document, InsertOneOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
document
TThe document.
options
InsertOneOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task
The result of the insert operation.
InsertOneAsync(T, InsertOneOptions, CancellationToken)
Inserts a single document.
public Task InsertOneAsync(T document, InsertOneOptions options = null, CancellationToken cancellationToken = default)
Parameters
document
TThe document.
options
InsertOneOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task
The result of the insert operation.
InsertOneAsync(T, CancellationToken)
Inserts a single document.
public Task InsertOneAsync(T document, CancellationToken _cancellationToken)
Parameters
document
TThe document.
_cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task
The result of the insert operation.
MapReduceAsync<TResult>(BsonJavaScript, BsonJavaScript, MapReduceOptions<T, TResult>, CancellationToken)
Executes a map-reduce command.
public Task<IAsyncCursor<TResult>> MapReduceAsync<TResult>(BsonJavaScript map, BsonJavaScript reduce, MapReduceOptions<T, TResult> options = null, CancellationToken cancellationToken = default)
Parameters
map
BsonJavaScriptThe map function.
reduce
BsonJavaScriptThe reduce function.
options
MapReduceOptions<T, TResult>The options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<IAsyncCursor<TResult>>
A Task whose result is a cursor.
Type Parameters
TResult
The type of the result.
MapReduceAsync<TResult>(IClientSessionHandle, BsonJavaScript, BsonJavaScript, MapReduceOptions<T, TResult>, CancellationToken)
Executes a map-reduce command.
public Task<IAsyncCursor<TResult>> MapReduceAsync<TResult>(IClientSessionHandle session, BsonJavaScript map, BsonJavaScript reduce, MapReduceOptions<T, TResult> options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
map
BsonJavaScriptThe map function.
reduce
BsonJavaScriptThe reduce function.
options
MapReduceOptions<T, TResult>The options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<IAsyncCursor<TResult>>
A Task whose result is a cursor.
Type Parameters
TResult
The type of the result.
MapReduce<TResult>(BsonJavaScript, BsonJavaScript, MapReduceOptions<T, TResult>, CancellationToken)
Executes a map-reduce command.
public IAsyncCursor<TResult> MapReduce<TResult>(BsonJavaScript map, BsonJavaScript reduce, MapReduceOptions<T, TResult> options = null, CancellationToken cancellationToken = default)
Parameters
map
BsonJavaScriptThe map function.
reduce
BsonJavaScriptThe reduce function.
options
MapReduceOptions<T, TResult>The options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- IAsyncCursor<TResult>
A cursor.
Type Parameters
TResult
The type of the result.
MapReduce<TResult>(IClientSessionHandle, BsonJavaScript, BsonJavaScript, MapReduceOptions<T, TResult>, CancellationToken)
Executes a map-reduce command.
public IAsyncCursor<TResult> MapReduce<TResult>(IClientSessionHandle session, BsonJavaScript map, BsonJavaScript reduce, MapReduceOptions<T, TResult> options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
map
BsonJavaScriptThe map function.
reduce
BsonJavaScriptThe reduce function.
options
MapReduceOptions<T, TResult>The options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- IAsyncCursor<TResult>
A cursor.
Type Parameters
TResult
The 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 IFilteredMongoCollection<TDerivedDocument> OfType<TDerivedDocument>() where TDerivedDocument : T
Returns
- IFilteredMongoCollection<TDerivedDocument>
A filtered collection.
Type Parameters
TDerivedDocument
The type of the derived document.
ReplaceOne(FilterDefinition<T>, T, ReplaceOptions, CancellationToken)
Replaces a single document.
public ReplaceOneResult ReplaceOne(FilterDefinition<T> filter, T replacement, ReplaceOptions options = null, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
replacement
TThe replacement.
options
ReplaceOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- ReplaceOneResult
The result of the replacement.
ReplaceOne(FilterDefinition<T>, T, UpdateOptions, CancellationToken)
Replaces a single document.
public ReplaceOneResult ReplaceOne(FilterDefinition<T> filter, T replacement, UpdateOptions options, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
replacement
TThe replacement.
options
UpdateOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- ReplaceOneResult
The result of the replacement.
ReplaceOne(IClientSessionHandle, FilterDefinition<T>, T, ReplaceOptions, CancellationToken)
Replaces a single document.
public ReplaceOneResult ReplaceOne(IClientSessionHandle session, FilterDefinition<T> filter, T replacement, ReplaceOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
filter
FilterDefinition<T>The filter.
replacement
TThe replacement.
options
ReplaceOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- ReplaceOneResult
The result of the replacement.
ReplaceOne(IClientSessionHandle, FilterDefinition<T>, T, UpdateOptions, CancellationToken)
Replaces a single document.
public ReplaceOneResult ReplaceOne(IClientSessionHandle session, FilterDefinition<T> filter, T replacement, UpdateOptions options, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
filter
FilterDefinition<T>The filter.
replacement
TThe replacement.
options
UpdateOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- ReplaceOneResult
The result of the replacement.
ReplaceOneAsync(FilterDefinition<T>, T, ReplaceOptions, CancellationToken)
Replaces a single document.
public Task<ReplaceOneResult> ReplaceOneAsync(FilterDefinition<T> filter, T replacement, ReplaceOptions options = null, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
replacement
TThe replacement.
options
ReplaceOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<ReplaceOneResult>
The result of the replacement.
ReplaceOneAsync(FilterDefinition<T>, T, UpdateOptions, CancellationToken)
Replaces a single document.
public Task<ReplaceOneResult> ReplaceOneAsync(FilterDefinition<T> filter, T replacement, UpdateOptions options, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
replacement
TThe replacement.
options
UpdateOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<ReplaceOneResult>
The result of the replacement.
ReplaceOneAsync(IClientSessionHandle, FilterDefinition<T>, T, ReplaceOptions, CancellationToken)
Replaces a single document.
public Task<ReplaceOneResult> ReplaceOneAsync(IClientSessionHandle session, FilterDefinition<T> filter, T replacement, ReplaceOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
filter
FilterDefinition<T>The filter.
replacement
TThe replacement.
options
ReplaceOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<ReplaceOneResult>
The result of the replacement.
ReplaceOneAsync(IClientSessionHandle, FilterDefinition<T>, T, UpdateOptions, CancellationToken)
Replaces a single document.
public Task<ReplaceOneResult> ReplaceOneAsync(IClientSessionHandle session, FilterDefinition<T> filter, T replacement, UpdateOptions options, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
filter
FilterDefinition<T>The filter.
replacement
TThe replacement.
options
UpdateOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<ReplaceOneResult>
The result of the replacement.
UpdateMany(FilterDefinition<T>, UpdateDefinition<T>, UpdateOptions, CancellationToken)
Updates many documents.
public UpdateResult UpdateMany(FilterDefinition<T> filter, UpdateDefinition<T> update, UpdateOptions options = null, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
update
UpdateDefinition<T>The update.
options
UpdateOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- UpdateResult
The result of the update operation.
UpdateMany(IClientSessionHandle, FilterDefinition<T>, UpdateDefinition<T>, UpdateOptions, CancellationToken)
Updates many documents.
public UpdateResult UpdateMany(IClientSessionHandle session, FilterDefinition<T> filter, UpdateDefinition<T> update, UpdateOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
filter
FilterDefinition<T>The filter.
update
UpdateDefinition<T>The update.
options
UpdateOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- UpdateResult
The result of the update operation.
UpdateManyAsync(FilterDefinition<T>, UpdateDefinition<T>, UpdateOptions, CancellationToken)
Updates many documents.
public Task<UpdateResult> UpdateManyAsync(FilterDefinition<T> filter, UpdateDefinition<T> update, UpdateOptions options = null, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
update
UpdateDefinition<T>The update.
options
UpdateOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<UpdateResult>
The result of the update operation.
UpdateManyAsync(IClientSessionHandle, FilterDefinition<T>, UpdateDefinition<T>, UpdateOptions, CancellationToken)
Updates many documents.
public Task<UpdateResult> UpdateManyAsync(IClientSessionHandle session, FilterDefinition<T> filter, UpdateDefinition<T> update, UpdateOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
filter
FilterDefinition<T>The filter.
update
UpdateDefinition<T>The update.
options
UpdateOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<UpdateResult>
The result of the update operation.
UpdateOne(FilterDefinition<T>, UpdateDefinition<T>, UpdateOptions, CancellationToken)
Updates a single document.
public UpdateResult UpdateOne(FilterDefinition<T> filter, UpdateDefinition<T> update, UpdateOptions options = null, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
update
UpdateDefinition<T>The update.
options
UpdateOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- UpdateResult
The result of the update operation.
UpdateOne(IClientSessionHandle, FilterDefinition<T>, UpdateDefinition<T>, UpdateOptions, CancellationToken)
Updates a single document.
public UpdateResult UpdateOne(IClientSessionHandle session, FilterDefinition<T> filter, UpdateDefinition<T> update, UpdateOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
filter
FilterDefinition<T>The filter.
update
UpdateDefinition<T>The update.
options
UpdateOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- UpdateResult
The result of the update operation.
UpdateOneAsync(FilterDefinition<T>, UpdateDefinition<T>, UpdateOptions, CancellationToken)
Updates a single document.
public Task<UpdateResult> UpdateOneAsync(FilterDefinition<T> filter, UpdateDefinition<T> update, UpdateOptions options = null, CancellationToken cancellationToken = default)
Parameters
filter
FilterDefinition<T>The filter.
update
UpdateDefinition<T>The update.
options
UpdateOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<UpdateResult>
The result of the update operation.
UpdateOneAsync(IClientSessionHandle, FilterDefinition<T>, UpdateDefinition<T>, UpdateOptions, CancellationToken)
Updates a single document.
public Task<UpdateResult> UpdateOneAsync(IClientSessionHandle session, FilterDefinition<T> filter, UpdateDefinition<T> update, UpdateOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
filter
FilterDefinition<T>The filter.
update
UpdateDefinition<T>The update.
options
UpdateOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<UpdateResult>
The result of the update operation.
WatchAsync<TResult>(IClientSessionHandle, PipelineDefinition<ChangeStreamDocument<T>, TResult>, ChangeStreamOptions, CancellationToken)
Watches changes on the collection.
public Task<IChangeStreamCursor<TResult>> WatchAsync<TResult>(IClientSessionHandle session, PipelineDefinition<ChangeStreamDocument<T>, TResult> pipeline, ChangeStreamOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
pipeline
PipelineDefinition<ChangeStreamDocument<T>, TResult>The pipeline.
options
ChangeStreamOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<IChangeStreamCursor<TResult>>
A change stream.
Type Parameters
TResult
The type of the result.
WatchAsync<TResult>(PipelineDefinition<ChangeStreamDocument<T>, TResult>, ChangeStreamOptions, CancellationToken)
Watches changes on the collection.
public Task<IChangeStreamCursor<TResult>> WatchAsync<TResult>(PipelineDefinition<ChangeStreamDocument<T>, TResult> pipeline, ChangeStreamOptions options = null, CancellationToken cancellationToken = default)
Parameters
pipeline
PipelineDefinition<ChangeStreamDocument<T>, TResult>The pipeline.
options
ChangeStreamOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- Task<IChangeStreamCursor<TResult>>
A change stream.
Type Parameters
TResult
The type of the result.
Watch<TResult>(IClientSessionHandle, PipelineDefinition<ChangeStreamDocument<T>, TResult>, ChangeStreamOptions, CancellationToken)
Watches changes on the collection.
public IChangeStreamCursor<TResult> Watch<TResult>(IClientSessionHandle session, PipelineDefinition<ChangeStreamDocument<T>, TResult> pipeline, ChangeStreamOptions options = null, CancellationToken cancellationToken = default)
Parameters
session
IClientSessionHandleThe session.
pipeline
PipelineDefinition<ChangeStreamDocument<T>, TResult>The pipeline.
options
ChangeStreamOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- IChangeStreamCursor<TResult>
A change stream.
Type Parameters
TResult
The type of the result.
Watch<TResult>(PipelineDefinition<ChangeStreamDocument<T>, TResult>, ChangeStreamOptions, CancellationToken)
Watches changes on the collection.
public IChangeStreamCursor<TResult> Watch<TResult>(PipelineDefinition<ChangeStreamDocument<T>, TResult> pipeline, ChangeStreamOptions options = null, CancellationToken cancellationToken = default)
Parameters
pipeline
PipelineDefinition<ChangeStreamDocument<T>, TResult>The pipeline.
options
ChangeStreamOptionsThe options.
cancellationToken
CancellationTokenThe cancellation token.
Returns
- IChangeStreamCursor<TResult>
A change stream.
Type Parameters
TResult
The type of the result.
WithReadConcern(ReadConcern)
Returns a new IMongoCollection instance with a different read concern setting.
public IMongoCollection<T> WithReadConcern(ReadConcern readConcern)
Parameters
readConcern
ReadConcernThe read concern.
Returns
- IMongoCollection<T>
A new IMongoCollection instance with a different read concern setting.
WithReadPreference(ReadPreference)
Returns a new IMongoCollection instance with a different read preference setting.
public IMongoCollection<T> WithReadPreference(ReadPreference readPreference)
Parameters
readPreference
ReadPreferenceThe read preference.
Returns
- IMongoCollection<T>
A new IMongoCollection instance with a different read preference setting.
WithWriteConcern(WriteConcern)
Returns a new IMongoCollection instance with a different write concern setting.
public IMongoCollection<T> WithWriteConcern(WriteConcern writeConcern)
Parameters
writeConcern
WriteConcernThe write concern.
Returns
- IMongoCollection<T>
A new IMongoCollection instance with a different write concern setting.