Table of Contents

Class MongoCollectionBase<TDocument>

Namespace
MongoDB.Driver
Assembly
MongoDB.Driver.dll
public abstract class MongoCollectionBase<TDocument> : IMongoCollection<TDocument>

Type Parameters

TDocument
Inheritance
MongoCollectionBase<TDocument>
Implements
IMongoCollection<TDocument>
Inherited Members
Extension Methods

Constructors

MongoCollectionBase()

protected MongoCollectionBase()

Properties

CollectionNamespace

public abstract CollectionNamespace CollectionNamespace { get; }

Property Value

CollectionNamespace

Database

public abstract IMongoDatabase Database { get; }

Property Value

IMongoDatabase

DocumentSerializer

public abstract IBsonSerializer<TDocument> DocumentSerializer { get; }

Property Value

IBsonSerializer<TDocument>

Indexes

public abstract IMongoIndexManager<TDocument> Indexes { get; }

Property Value

IMongoIndexManager<TDocument>

Settings

public abstract MongoCollectionSettings Settings { get; }

Property Value

MongoCollectionSettings

Methods

AggregateAsync<TResult>(PipelineDefinition<TDocument, TResult>, AggregateOptions, CancellationToken)

public abstract Task<IAsyncCursor<TResult>> AggregateAsync<TResult>(PipelineDefinition<TDocument, TResult> pipeline, AggregateOptions options = null, CancellationToken cancellationToken = default)

Parameters

pipeline PipelineDefinition<TDocument, TResult>
options AggregateOptions
cancellationToken CancellationToken

Returns

Task<IAsyncCursor<TResult>>

Type Parameters

TResult

Aggregate<TResult>(PipelineDefinition<TDocument, TResult>, AggregateOptions, CancellationToken)

public virtual IAsyncCursor<TResult> Aggregate<TResult>(PipelineDefinition<TDocument, TResult> pipeline, AggregateOptions options = null, CancellationToken cancellationToken = default)

Parameters

pipeline PipelineDefinition<TDocument, TResult>
options AggregateOptions
cancellationToken CancellationToken

Returns

IAsyncCursor<TResult>

Type Parameters

TResult

BulkWrite(IEnumerable<WriteModel<TDocument>>, BulkWriteOptions, CancellationToken)

public virtual BulkWriteResult<TDocument> BulkWrite(IEnumerable<WriteModel<TDocument>> requests, BulkWriteOptions options = null, CancellationToken cancellationToken = default)

Parameters

requests IEnumerable<WriteModel<TDocument>>
options BulkWriteOptions
cancellationToken CancellationToken

Returns

BulkWriteResult<TDocument>

BulkWriteAsync(IEnumerable<WriteModel<TDocument>>, BulkWriteOptions, CancellationToken)

public abstract Task<BulkWriteResult<TDocument>> BulkWriteAsync(IEnumerable<WriteModel<TDocument>> requests, BulkWriteOptions options = null, CancellationToken cancellationToken = default)

Parameters

requests IEnumerable<WriteModel<TDocument>>
options BulkWriteOptions
cancellationToken CancellationToken

Returns

Task<BulkWriteResult<TDocument>>

Count(FilterDefinition<TDocument>, CountOptions, CancellationToken)

public virtual long Count(FilterDefinition<TDocument> filter, CountOptions options = null, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TDocument>
options CountOptions
cancellationToken CancellationToken

Returns

long

CountAsync(FilterDefinition<TDocument>, CountOptions, CancellationToken)

public abstract Task<long> CountAsync(FilterDefinition<TDocument> filter, CountOptions options = null, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TDocument>
options CountOptions
cancellationToken CancellationToken

Returns

Task<long>

DeleteMany(FilterDefinition<TDocument>, DeleteOptions, CancellationToken)

public virtual DeleteResult DeleteMany(FilterDefinition<TDocument> filter, DeleteOptions options, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TDocument>
options DeleteOptions
cancellationToken CancellationToken

Returns

DeleteResult

DeleteMany(FilterDefinition<TDocument>, CancellationToken)

public virtual DeleteResult DeleteMany(FilterDefinition<TDocument> filter, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TDocument>
cancellationToken CancellationToken

Returns

DeleteResult

DeleteManyAsync(FilterDefinition<TDocument>, DeleteOptions, CancellationToken)

public virtual Task<DeleteResult> DeleteManyAsync(FilterDefinition<TDocument> filter, DeleteOptions options, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TDocument>
options DeleteOptions
cancellationToken CancellationToken

Returns

Task<DeleteResult>

DeleteManyAsync(FilterDefinition<TDocument>, CancellationToken)

public virtual Task<DeleteResult> DeleteManyAsync(FilterDefinition<TDocument> filter, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TDocument>
cancellationToken CancellationToken

Returns

Task<DeleteResult>

DeleteOne(FilterDefinition<TDocument>, DeleteOptions, CancellationToken)

public virtual DeleteResult DeleteOne(FilterDefinition<TDocument> filter, DeleteOptions options, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TDocument>
options DeleteOptions
cancellationToken CancellationToken

Returns

DeleteResult

DeleteOne(FilterDefinition<TDocument>, CancellationToken)

public virtual DeleteResult DeleteOne(FilterDefinition<TDocument> filter, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TDocument>
cancellationToken CancellationToken

Returns

DeleteResult

DeleteOneAsync(FilterDefinition<TDocument>, DeleteOptions, CancellationToken)

public virtual Task<DeleteResult> DeleteOneAsync(FilterDefinition<TDocument> filter, DeleteOptions options, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TDocument>
options DeleteOptions
cancellationToken CancellationToken

Returns

Task<DeleteResult>

DeleteOneAsync(FilterDefinition<TDocument>, CancellationToken)

public virtual Task<DeleteResult> DeleteOneAsync(FilterDefinition<TDocument> filter, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TDocument>
cancellationToken CancellationToken

Returns

Task<DeleteResult>

DistinctAsync<TField>(FieldDefinition<TDocument, TField>, FilterDefinition<TDocument>, DistinctOptions, CancellationToken)

public abstract Task<IAsyncCursor<TField>> DistinctAsync<TField>(FieldDefinition<TDocument, TField> field, FilterDefinition<TDocument> filter, DistinctOptions options = null, CancellationToken cancellationToken = default)

Parameters

field FieldDefinition<TDocument, TField>
filter FilterDefinition<TDocument>
options DistinctOptions
cancellationToken CancellationToken

Returns

Task<IAsyncCursor<TField>>

Type Parameters

TField

Distinct<TField>(FieldDefinition<TDocument, TField>, FilterDefinition<TDocument>, DistinctOptions, CancellationToken)

public virtual IAsyncCursor<TField> Distinct<TField>(FieldDefinition<TDocument, TField> field, FilterDefinition<TDocument> filter, DistinctOptions options = null, CancellationToken cancellationToken = default)

Parameters

field FieldDefinition<TDocument, TField>
filter FilterDefinition<TDocument>
options DistinctOptions
cancellationToken CancellationToken

Returns

IAsyncCursor<TField>

Type Parameters

TField

FindAsync<TProjection>(FilterDefinition<TDocument>, FindOptions<TDocument, TProjection>, CancellationToken)

public abstract Task<IAsyncCursor<TProjection>> FindAsync<TProjection>(FilterDefinition<TDocument> filter, FindOptions<TDocument, TProjection> options = null, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TDocument>
options FindOptions<TDocument, TProjection>
cancellationToken CancellationToken

Returns

Task<IAsyncCursor<TProjection>>

Type Parameters

TProjection

FindOneAndDeleteAsync<TProjection>(FilterDefinition<TDocument>, FindOneAndDeleteOptions<TDocument, TProjection>, CancellationToken)

public abstract Task<TProjection> FindOneAndDeleteAsync<TProjection>(FilterDefinition<TDocument> filter, FindOneAndDeleteOptions<TDocument, TProjection> options = null, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TDocument>
options FindOneAndDeleteOptions<TDocument, TProjection>
cancellationToken CancellationToken

Returns

Task<TProjection>

Type Parameters

TProjection

FindOneAndDelete<TProjection>(FilterDefinition<TDocument>, FindOneAndDeleteOptions<TDocument, TProjection>, CancellationToken)

public virtual TProjection FindOneAndDelete<TProjection>(FilterDefinition<TDocument> filter, FindOneAndDeleteOptions<TDocument, TProjection> options = null, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TDocument>
options FindOneAndDeleteOptions<TDocument, TProjection>
cancellationToken CancellationToken

Returns

TProjection

Type Parameters

TProjection

FindOneAndReplaceAsync<TProjection>(FilterDefinition<TDocument>, TDocument, FindOneAndReplaceOptions<TDocument, TProjection>, CancellationToken)

public abstract Task<TProjection> FindOneAndReplaceAsync<TProjection>(FilterDefinition<TDocument> filter, TDocument replacement, FindOneAndReplaceOptions<TDocument, TProjection> options = null, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TDocument>
replacement TDocument
options FindOneAndReplaceOptions<TDocument, TProjection>
cancellationToken CancellationToken

Returns

Task<TProjection>

Type Parameters

TProjection

FindOneAndReplace<TProjection>(FilterDefinition<TDocument>, TDocument, FindOneAndReplaceOptions<TDocument, TProjection>, CancellationToken)

public virtual TProjection FindOneAndReplace<TProjection>(FilterDefinition<TDocument> filter, TDocument replacement, FindOneAndReplaceOptions<TDocument, TProjection> options = null, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TDocument>
replacement TDocument
options FindOneAndReplaceOptions<TDocument, TProjection>
cancellationToken CancellationToken

Returns

TProjection

Type Parameters

TProjection

FindOneAndUpdateAsync<TProjection>(FilterDefinition<TDocument>, UpdateDefinition<TDocument>, FindOneAndUpdateOptions<TDocument, TProjection>, CancellationToken)

public abstract Task<TProjection> FindOneAndUpdateAsync<TProjection>(FilterDefinition<TDocument> filter, UpdateDefinition<TDocument> update, FindOneAndUpdateOptions<TDocument, TProjection> options = null, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TDocument>
update UpdateDefinition<TDocument>
options FindOneAndUpdateOptions<TDocument, TProjection>
cancellationToken CancellationToken

Returns

Task<TProjection>

Type Parameters

TProjection

FindOneAndUpdate<TProjection>(FilterDefinition<TDocument>, UpdateDefinition<TDocument>, FindOneAndUpdateOptions<TDocument, TProjection>, CancellationToken)

public virtual TProjection FindOneAndUpdate<TProjection>(FilterDefinition<TDocument> filter, UpdateDefinition<TDocument> update, FindOneAndUpdateOptions<TDocument, TProjection> options = null, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TDocument>
update UpdateDefinition<TDocument>
options FindOneAndUpdateOptions<TDocument, TProjection>
cancellationToken CancellationToken

Returns

TProjection

Type Parameters

TProjection

FindSync<TProjection>(FilterDefinition<TDocument>, FindOptions<TDocument, TProjection>, CancellationToken)

public virtual IAsyncCursor<TProjection> FindSync<TProjection>(FilterDefinition<TDocument> filter, FindOptions<TDocument, TProjection> options = null, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TDocument>
options FindOptions<TDocument, TProjection>
cancellationToken CancellationToken

Returns

IAsyncCursor<TProjection>

Type Parameters

TProjection

InsertMany(IEnumerable<TDocument>, InsertManyOptions, CancellationToken)

public virtual void InsertMany(IEnumerable<TDocument> documents, InsertManyOptions options = null, CancellationToken cancellationToken = default)

Parameters

documents IEnumerable<TDocument>
options InsertManyOptions
cancellationToken CancellationToken

InsertManyAsync(IEnumerable<TDocument>, InsertManyOptions, CancellationToken)

public virtual Task InsertManyAsync(IEnumerable<TDocument> documents, InsertManyOptions options = null, CancellationToken cancellationToken = default)

Parameters

documents IEnumerable<TDocument>
options InsertManyOptions
cancellationToken CancellationToken

Returns

Task

InsertOne(TDocument, InsertOneOptions, CancellationToken)

public virtual void InsertOne(TDocument document, InsertOneOptions options = null, CancellationToken cancellationToken = default)

Parameters

document TDocument
options InsertOneOptions
cancellationToken CancellationToken

InsertOneAsync(TDocument, InsertOneOptions, CancellationToken)

public virtual Task InsertOneAsync(TDocument document, InsertOneOptions options = null, CancellationToken cancellationToken = default)

Parameters

document TDocument
options InsertOneOptions
cancellationToken CancellationToken

Returns

Task

InsertOneAsync(TDocument, CancellationToken)

[Obsolete("Use the new overload of InsertOneAsync with an InsertOneOptions parameter instead.")]
public virtual Task InsertOneAsync(TDocument document, CancellationToken _cancellationToken)

Parameters

document TDocument
_cancellationToken CancellationToken

Returns

Task

MapReduceAsync<TResult>(BsonJavaScript, BsonJavaScript, MapReduceOptions<TDocument, TResult>, CancellationToken)

public abstract Task<IAsyncCursor<TResult>> MapReduceAsync<TResult>(BsonJavaScript map, BsonJavaScript reduce, MapReduceOptions<TDocument, TResult> options = null, CancellationToken cancellationToken = default)

Parameters

map BsonJavaScript
reduce BsonJavaScript
options MapReduceOptions<TDocument, TResult>
cancellationToken CancellationToken

Returns

Task<IAsyncCursor<TResult>>

Type Parameters

TResult

MapReduce<TResult>(BsonJavaScript, BsonJavaScript, MapReduceOptions<TDocument, TResult>, CancellationToken)

public virtual IAsyncCursor<TResult> MapReduce<TResult>(BsonJavaScript map, BsonJavaScript reduce, MapReduceOptions<TDocument, TResult> options = null, CancellationToken cancellationToken = default)

Parameters

map BsonJavaScript
reduce BsonJavaScript
options MapReduceOptions<TDocument, TResult>
cancellationToken CancellationToken

Returns

IAsyncCursor<TResult>

Type Parameters

TResult

OfType<TDerivedDocument>()

public abstract IFilteredMongoCollection<TDerivedDocument> OfType<TDerivedDocument>() where TDerivedDocument : TDocument

Returns

IFilteredMongoCollection<TDerivedDocument>

Type Parameters

TDerivedDocument

ReplaceOne(FilterDefinition<TDocument>, TDocument, UpdateOptions, CancellationToken)

public virtual ReplaceOneResult ReplaceOne(FilterDefinition<TDocument> filter, TDocument replacement, UpdateOptions options = null, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TDocument>
replacement TDocument
options UpdateOptions
cancellationToken CancellationToken

Returns

ReplaceOneResult

ReplaceOneAsync(FilterDefinition<TDocument>, TDocument, UpdateOptions, CancellationToken)

public virtual Task<ReplaceOneResult> ReplaceOneAsync(FilterDefinition<TDocument> filter, TDocument replacement, UpdateOptions options = null, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TDocument>
replacement TDocument
options UpdateOptions
cancellationToken CancellationToken

Returns

Task<ReplaceOneResult>

UpdateMany(FilterDefinition<TDocument>, UpdateDefinition<TDocument>, UpdateOptions, CancellationToken)

public virtual UpdateResult UpdateMany(FilterDefinition<TDocument> filter, UpdateDefinition<TDocument> update, UpdateOptions options = null, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TDocument>
update UpdateDefinition<TDocument>
options UpdateOptions
cancellationToken CancellationToken

Returns

UpdateResult

UpdateManyAsync(FilterDefinition<TDocument>, UpdateDefinition<TDocument>, UpdateOptions, CancellationToken)

public virtual Task<UpdateResult> UpdateManyAsync(FilterDefinition<TDocument> filter, UpdateDefinition<TDocument> update, UpdateOptions options = null, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TDocument>
update UpdateDefinition<TDocument>
options UpdateOptions
cancellationToken CancellationToken

Returns

Task<UpdateResult>

UpdateOne(FilterDefinition<TDocument>, UpdateDefinition<TDocument>, UpdateOptions, CancellationToken)

public virtual UpdateResult UpdateOne(FilterDefinition<TDocument> filter, UpdateDefinition<TDocument> update, UpdateOptions options = null, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TDocument>
update UpdateDefinition<TDocument>
options UpdateOptions
cancellationToken CancellationToken

Returns

UpdateResult

UpdateOneAsync(FilterDefinition<TDocument>, UpdateDefinition<TDocument>, UpdateOptions, CancellationToken)

public virtual Task<UpdateResult> UpdateOneAsync(FilterDefinition<TDocument> filter, UpdateDefinition<TDocument> update, UpdateOptions options = null, CancellationToken cancellationToken = default)

Parameters

filter FilterDefinition<TDocument>
update UpdateDefinition<TDocument>
options UpdateOptions
cancellationToken CancellationToken

Returns

Task<UpdateResult>

WithReadConcern(ReadConcern)

public virtual IMongoCollection<TDocument> WithReadConcern(ReadConcern readConcern)

Parameters

readConcern ReadConcern

Returns

IMongoCollection<TDocument>

WithReadPreference(ReadPreference)

public abstract IMongoCollection<TDocument> WithReadPreference(ReadPreference readPreference)

Parameters

readPreference ReadPreference

Returns

IMongoCollection<TDocument>

WithWriteConcern(WriteConcern)

public abstract IMongoCollection<TDocument> WithWriteConcern(WriteConcern writeConcern)

Parameters

writeConcern WriteConcern

Returns

IMongoCollection<TDocument>