diff --git a/CoreIntegrationTests/CoreIntegrationTests.csproj b/CoreIntegrationTests/CoreIntegrationTests.csproj index 1d7ff56..69f6379 100644 --- a/CoreIntegrationTests/CoreIntegrationTests.csproj +++ b/CoreIntegrationTests/CoreIntegrationTests.csproj @@ -8,7 +8,7 @@ - + all diff --git a/IntegrationTests/IntegrationTests.csproj b/IntegrationTests/IntegrationTests.csproj index 3bfc2da..4ce1c52 100644 --- a/IntegrationTests/IntegrationTests.csproj +++ b/IntegrationTests/IntegrationTests.csproj @@ -49,8 +49,8 @@ ..\packages\MongoDB.Driver.Core.2.9.3\lib\net452\MongoDB.Driver.Core.dll - - ..\packages\MongoDbGenericRepository.1.4.4\lib\net452\MongoDbGenericRepository.dll + + ..\packages\MongoDbGenericRepository.1.4.5\lib\net452\MongoDbGenericRepository.dll ..\packages\NUnit.3.12.0\lib\net45\nunit.framework.dll diff --git a/IntegrationTests/packages.config b/IntegrationTests/packages.config index 5b90bd2..edb6266 100644 --- a/IntegrationTests/packages.config +++ b/IntegrationTests/packages.config @@ -5,7 +5,7 @@ - + diff --git a/MongoDbGenericRepository/DataAccess/Update/MongoDbUpdater.ClientSession.cs b/MongoDbGenericRepository/DataAccess/Update/MongoDbUpdater.ClientSession.cs index 372b0c9..dbb1283 100644 --- a/MongoDbGenericRepository/DataAccess/Update/MongoDbUpdater.ClientSession.cs +++ b/MongoDbGenericRepository/DataAccess/Update/MongoDbUpdater.ClientSession.cs @@ -62,7 +62,7 @@ namespace MongoDbGenericRepository.DataAccess.Update where TKey : IEquatable { var filter = Builders.Filter.Eq("Id", documentToModify.Id); - var updateRes = await HandlePartitioned(documentToModify).UpdateOneAsync(session, filter, update, new UpdateOptions { IsUpsert = true }, cancellationToken).ConfigureAwait(false); + var updateRes = await HandlePartitioned(documentToModify).UpdateOneAsync(session, filter, update, null, cancellationToken).ConfigureAwait(false); return updateRes.ModifiedCount == 1; } @@ -81,7 +81,7 @@ namespace MongoDbGenericRepository.DataAccess.Update where TKey : IEquatable { var filter = Builders.Filter.Eq("Id", documentToModify.Id); - var updateRes = HandlePartitioned(documentToModify).UpdateOne(session, filter, update, new UpdateOptions { IsUpsert = true }, cancellationToken); + var updateRes = HandlePartitioned(documentToModify).UpdateOne(session, filter, update, null, cancellationToken); return updateRes.ModifiedCount == 1; } diff --git a/MongoDbGenericRepository/DataAccess/Update/MongoDbUpdater.cs b/MongoDbGenericRepository/DataAccess/Update/MongoDbUpdater.cs index 7f7c230..2a4cdbd 100644 --- a/MongoDbGenericRepository/DataAccess/Update/MongoDbUpdater.cs +++ b/MongoDbGenericRepository/DataAccess/Update/MongoDbUpdater.cs @@ -56,7 +56,7 @@ namespace MongoDbGenericRepository.DataAccess.Update where TKey : IEquatable { var filter = Builders.Filter.Eq("Id", documentToModify.Id); - var updateRes = await HandlePartitioned(documentToModify).UpdateOneAsync(filter, update, new UpdateOptions { IsUpsert = true }); + var updateRes = await HandlePartitioned(documentToModify).UpdateOneAsync(filter, update); return updateRes.ModifiedCount == 1; } @@ -72,7 +72,7 @@ namespace MongoDbGenericRepository.DataAccess.Update where TKey : IEquatable { var filter = Builders.Filter.Eq("Id", documentToModify.Id); - var updateRes = HandlePartitioned(documentToModify).UpdateOne(filter, update, new UpdateOptions { IsUpsert = true }); + var updateRes = HandlePartitioned(documentToModify).UpdateOne(filter, update); return updateRes.ModifiedCount == 1; } @@ -250,7 +250,7 @@ namespace MongoDbGenericRepository.DataAccess.Update where TKey : IEquatable { var collection = string.IsNullOrEmpty(partitionKey) ? GetCollection() : GetCollection(partitionKey); - var updateRes = await collection.UpdateManyAsync(filter, updateDefinition, new UpdateOptions { IsUpsert = true }); + var updateRes = await collection.UpdateManyAsync(filter, updateDefinition); return updateRes.ModifiedCount; } @@ -304,7 +304,7 @@ namespace MongoDbGenericRepository.DataAccess.Update where TKey : IEquatable { var collection = string.IsNullOrEmpty(partitionKey) ? GetCollection() : GetCollection(partitionKey); - var updateRes = collection.UpdateMany(filter, UpdateDefinition, new UpdateOptions { IsUpsert = true }); + var updateRes = collection.UpdateMany(filter, UpdateDefinition); return updateRes.ModifiedCount; } } diff --git a/MongoDbGenericRepository/MongoDbGenericRepository.csproj b/MongoDbGenericRepository/MongoDbGenericRepository.csproj index f451cd3..f569520 100644 --- a/MongoDbGenericRepository/MongoDbGenericRepository.csproj +++ b/MongoDbGenericRepository/MongoDbGenericRepository.csproj @@ -3,7 +3,7 @@ net452;netstandard2.0;netstandard1.5; MongoDbGenericRepository - 1.4.4 + 1.4.5 Alexandre Spieser MongoDb Generic Repository A generic repository implementation using the MongoDB C# Sharp 2.0 driver. @@ -14,7 +14,7 @@ Copyright 2020 (c) Alexandre Spieser. All rights reserved. MongoDb Repository Generic NoSql true - 1.4.4 + 1.4.5 https://github.com/alexandre-spieser/mongodb-generic-repository Git diff --git a/MongoDbGenericRepository/MongoDbGenericRepository.nuspec b/MongoDbGenericRepository/MongoDbGenericRepository.nuspec index 5d8db30..3f6fe6b 100644 --- a/MongoDbGenericRepository/MongoDbGenericRepository.nuspec +++ b/MongoDbGenericRepository/MongoDbGenericRepository.nuspec @@ -2,7 +2,7 @@ MongoDbGenericRepository - 1.4.4 + 1.4.5 MongoDb Generic Repository Alexandre Spieser Alexandre Spieser diff --git a/MongoDbGenericRepository/lib/net452/MongoDbGenericRepository.dll b/MongoDbGenericRepository/lib/net452/MongoDbGenericRepository.dll index ab63fa4..29ac9bd 100644 Binary files a/MongoDbGenericRepository/lib/net452/MongoDbGenericRepository.dll and b/MongoDbGenericRepository/lib/net452/MongoDbGenericRepository.dll differ diff --git a/MongoDbGenericRepository/lib/net452/MongoDbGenericRepository.xml b/MongoDbGenericRepository/lib/net452/MongoDbGenericRepository.xml new file mode 100644 index 0000000..9805841 --- /dev/null +++ b/MongoDbGenericRepository/lib/net452/MongoDbGenericRepository.xml @@ -0,0 +1,5018 @@ + + + + MongoDbGenericRepository + + + + + The IBaseMongoRepository interface exposes the CRUD functionality of the BaseMongoRepository. + + + + + Asynchronously returns a paginated list of the documents matching the filter condition. + + The type representing a Document. + + The number of documents you want to skip. Default value is 0. + The number of documents you want to take. Default value is 50. + An optional partition key. + + + + Asynchronously returns a paginated list of the documents matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + + The number of documents you want to skip. Default value is 0. + The number of documents you want to take. Default value is 50. + An optional partition key. + + + + GetAndUpdateOne with filter + + The type representing a Document. + + + + + + + + GetAndUpdateOne with filter + + The type representing a Document. + The type of the primary key for a Document. + + + + + + + + Asynchronously Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The document with the modifications you want to persist. + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The document with the modifications you want to persist. + + + + Takes a document you want to modify and applies the update you have defined in MongoDb. + + The type representing a Document. + The type of the primary key for a Document. + The document you want to modify. + The update definition for the document. + + + + Takes a document you want to modify and applies the update you have defined in MongoDb. + + The type representing a Document. + The type of the primary key for a Document. + The document you want to modify. + The update definition for the document. + + + + For the entity selected by the filter, updates the property field with the given value.. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + Updates the property field with the given value update a property field in entities. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document you want to modify. + The field selector. + The new value of the property field. + + + + For the entity selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + Updates the property field with the given value update a property field in entities. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document you want to modify. + The field selector. + The new value of the property field. + + + + Updates the property field with the given value update a property field in entities. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + Updates the property field with the given value update a property field in entities. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The type of the primary key for a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The type of the primary key for a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The type of the primary key for a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The type of the primary key for a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The client session. + The document with the modifications you want to persist. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The client session. + The document with the modifications you want to persist. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The client session. + The document to modify. + The update definition. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The client session. + The document to modify. + The update definition. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field to update. + The client session. + The document to modify. + The field to update. + The value of the field. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field to update. + The client session. + The document to modify. + The field to update. + The value of the field. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field to update. + The client session. + The filter for the update. + The field to update. + The value of the field. + The optional partition key. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field to update. + The client session. + The filter for the update. + The field to update. + The value of the field. + The optional partition key. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field to update. + The client session. + The filter for the update. + The field to update. + The value of the field. + The optional partition key. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field to update. + The client session. + The filter for the update. + The field to update. + The value of the field. + The optional partition key. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The client session. + The document with the modifications you want to persist. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The client session. + The document with the modifications you want to persist. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The client session. + The document to modify. + The update definition. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The client session. + The document to modify. + The update definition. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field to update. + The client session. + The document to modify. + The field to update. + The value of the field. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field to update. + The client session. + The document to modify. + The field to update. + The value of the field. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field to update. + The client session. + The filter for the update. + The field to update. + The value of the field. + The optional partition key. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field to update. + The client session. + The filter for the update. + The field to update. + The value of the field. + The optional partition key. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field to update. + The client session. + The filter for the update. + The field to update. + The value of the field. + The optional partition key. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field to update. + The client session. + The filter for the update. + The field to update. + The value of the field. + The optional partition key. + The optional cancellation token. + + + + + Asynchronously Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The document with the modifications you want to persist. + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The document with the modifications you want to persist. + + + + Takes a document you want to modify and applies the update you have defined in MongoDb. + + The type representing a Document. + The type of the primary key for a Document. + The document you want to modify. + The update definition for the document. + + + + Takes a document you want to modify and applies the update you have defined in MongoDb. + + The type representing a Document. + The type of the primary key for a Document. + The document you want to modify. + The update definition for the document. + + + + Updates the property field with the given value update a property field in entities. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document you want to modify. + The field selector. + The new value of the property field. + + + + Updates the property field with the given value update a property field in entities. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document you want to modify. + The field selector. + The new value of the property field. + + + + Updates the property field with the given value update a property field in entities. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entity selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + Updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entity selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, apply the update definition. + + The type representing a Document. + The type of the primary key for a Document. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, apply the update definition. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The update definition. + The value of the partition key. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, apply the update definition. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The update definition. + The value of the partition key. + + + + Gets a collections for a potentially partitioned document type. + + The document type. + The type of the primary key. + The document. + + + + + Gets a collections for the type TDocument with a partition key. + + The document type. + The type of the primary key. + The collection partition key. + + + + + Gets a collections for a potentially partitioned document type. + + The document type. + The type of the primary key. + The collection partition key. + + + + + Converts a LINQ expression of TDocument, TValue to a LINQ expression of TDocument, object + + The document type. + The type of the value. + The expression to convert + + + + Maps a IndexCreationOptions object to a MongoDB.Driver.CreateIndexOptions object + + The options for creating an index. + + + + + Gets the minimum value of a property in a mongodb collections that is satisfying the filter. + + The document type. + The type of the primary key. + The type of the value used to order the query. + A LINQ expression filter. + A property selector to order by ascending. + An optional partition key. + + + + Gets the minimum value of a property in a mongodb collections that is satisfying the filter. + + The document type. + The type of the primary key. + The type of the value used to order the query. + A LINQ expression filter. + A property selector to order by descending. + An optional partition key. + + + + Asynchronously adds a document to the collection. + Populates the Id and AddedAtUtc fields if necessary. + + The type representing a Document. + The type of the primary key for a Document. + The document you want to add. + + + + Adds a document to the collection. + Populates the Id and AddedAtUtc fields if necessary. + + The type representing a Document. + The type of the primary key for a Document. + The document you want to add. + + + + Asynchronously adds a list of documents to the collection. + Populates the Id and AddedAtUtc fields if necessary. + + The type representing a Document. + The type of the primary key for a Document. + The documents you want to add. + + + + Adds a list of documents to the collection. + Populates the Id and AddedAtUtc fields if necessary. + + The type representing a Document. + The type of the primary key for a Document. + The documents you want to add. + + + + Sets the value of the document Id if it is not set already. + + The document type. + The type of the primary key. + The document. + + + + Deletes a document. + + The type representing a Document. + The type of the primary key for a Document. + The document you want to delete. + The number of documents deleted. + + + + Asynchronously deletes a document matching the condition of the LINQ expression filter. + + The type representing a Document. + The type of the primary key for a Document. + The document you want to delete. + The number of documents deleted. + + + + Deletes a document matching the condition of the LINQ expression filter. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + The number of documents deleted. + + + + Asynchronously deletes a document matching the condition of the LINQ expression filter. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + The number of documents deleted. + + + + Asynchronously deletes the documents matching the condition of the LINQ expression filter. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + The number of documents deleted. + + + + Asynchronously deletes a list of documents. + + The type representing a Document. + The type of the primary key for a Document. + The list of documents to delete. + The number of documents deleted. + + + + Deletes a list of documents. + + The type representing a Document. + The type of the primary key for a Document. + The list of documents to delete. + The number of documents deleted. + + + + Deletes the documents matching the condition of the LINQ expression filter. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + The number of documents deleted. + + + + Returns the names of the indexes present on a collection. + + The type representing a Document. + The type of the primary key for a Document. + An optional partition key + A list containing the names of the indexes on on the concerned collection. + + + + Create a text index on the given field. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The type of the primary key for a Document. + The field we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + Creates an index on the given field in ascending order. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The type of the primary key for a Document. + The field we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + Creates an index on the given field in descending order. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The type of the primary key for a Document. + The field we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + Creates a hashed index on the given field. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The type of the primary key for a Document. + The field we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + Creates a combined text index. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The type of the primary key for a Document. + The fields we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + Drops the index given a field name + + The type representing a Document. + The type of the primary key for a Document. + The name of the index + An optional partition key + + + + Asynchronously returns one document given its id. + + The type representing a Document. + The type of the primary key for a Document. + The Id of the document you want to get. + An optional partition key. + + + + Returns one document given its id. + + The type representing a Document. + The type of the primary key for a Document. + The Id of the document you want to get. + An optional partition key. + + + + Asynchronously returns one document given an expression filter. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + + + + Returns one document given an expression filter. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + + + + Returns a collection cursor. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + + + + Returns true if any of the document of the collection matches the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + + + + Returns true if any of the document of the collection matches the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + + + + Asynchronously returns a list of the documents matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + + + + Returns a list of the documents matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + + + + Asynchronously counts how many documents match the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partitionKey + + + + Counts how many documents match the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partitionKey + + + + Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. + + The document type. + The type of the primary key. + A LINQ expression filter. + A property selector to order by descending. + An optional partitionKey. + + + + Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. + + The document type. + The type of the primary key. + A LINQ expression filter. + A property selector to order by descending. + An optional partitionKey. + + + + Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter. + + The document type. + The type of the primary key. + A LINQ expression filter. + A property selector to order by ascending. + An optional partitionKey. + + + + Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter. + + The document type. + The type of the primary key. + A LINQ expression filter. + A property selector to order by ascending. + An optional partitionKey. + + + + Gets the maximum value of a property in a mongodb collections that is satisfying the filter. + + The document type. + The type of the primary key. + A LINQ expression filter. + A property selector to order by ascending. + An optional partitionKey. + + + + Gets the maximum value of a property in a mongodb collections that is satisfying the filter. + + The document type. + The type of the primary key. + The type of the value used to order the query. + A LINQ expression filter. + A property selector to order by ascending. + An optional partitionKey. + + + + Gets the minimum value of a property in a mongodb collections that is satisfying the filter. + + The document type. + The type of the primary key. + The type of the value used to order the query. + A LINQ expression filter. + A property selector to order by ascending. + An optional partition key. + + + + Gets the minimum value of a property in a mongodb collections that is satisfying the filter. + + The document type. + The type of the primary key. + The type of the value used to order the query. + A LINQ expression filter. + A property selector to order by ascending. + An optional partition key. + + + + Sums the values of a selected field for a given filtered collection of documents. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + The field you want to sum. + The partition key of your document, if any. + + + + Sums the values of a selected field for a given filtered collection of documents. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + The field you want to sum. + The partition key of your document, if any. + + + + Sums the values of a selected field for a given filtered collection of documents. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + The field you want to sum. + The partition key of your document, if any. + + + + Sums the values of a selected field for a given filtered collection of documents. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + The field you want to sum. + The partition key of your document, if any. + + + + Groups a collection of documents given a grouping criteria, + and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. + + The type representing a Document. + The type of the primary key for a Document. + The type of the grouping criteria. + The type of the projected group. + The grouping criteria. + The projected group result. + The partition key of your document, if any. + + + + Groups filtered a collection of documents given a grouping criteria, + and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. + + The type representing a Document. + The type of the primary key for a Document. + The type of the grouping criteria. + The type of the projected group. + A LINQ expression filter. + The grouping criteria. + The projected group result. + The partition key of your document, if any. + + + + Asynchronously returns a paginated list of the documents matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + The property selector. + Order of the sorting. + The number of documents you want to skip. Default value is 0. + The number of documents you want to take. Default value is 50. + An optional partition key. + + + + Asynchronously returns a paginated list of the documents matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + The sort definition. + The number of documents you want to skip. Default value is 0. + The number of documents you want to take. Default value is 50. + An optional partition key. + + + + Asynchronously returns a projected document matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + The type representing the model you want to project to. + A LINQ expression filter. + The projection expression. + An optional partition key. + + + + Returns a projected document matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + The type representing the model you want to project to. + A LINQ expression filter. + The projection expression. + An optional partition key. + + + + Asynchronously returns a list of projected documents matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + The type representing the model you want to project to. + A LINQ expression filter. + The projection expression. + An optional partition key. + + + + Asynchronously returns a list of projected documents matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + The type representing the model you want to project to. + The document filter. + The projection expression. + An optional partition key. + + + + The IBaseReadOnlyRepository exposes the generic Read Only functionality of the BaseMongoRepository. + + + + + The connection string. + + + + + The database name. + + + + + Asynchronously returns one document given its id. + + The type representing a Document. + The type of the primary key for a Document. + The Id of the document you want to get. + An optional partition key. + + + + Returns one document given its id. + + The type representing a Document. + The type of the primary key for a Document. + The Id of the document you want to get. + An optional partition key. + + + + Asynchronously returns one document given an expression filter. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + + + + Returns one document given an expression filter. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + + + + Returns a collection cursor. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + + + + Returns true if any of the document of the collection matches the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + + + + Returns true if any of the document of the collection matches the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + + + + Asynchronously returns a list of the documents matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + + + + Returns a list of the documents matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + + + + Asynchronously counts how many documents match the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partitionKey + + + + Counts how many documents match the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partitionKey + + + + Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. + + The document type. + The type of the primary key. + A LINQ expression filter. + A property selector to order by descending. + An optional partitionKey. + + + + Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. + + The document type. + The type of the primary key. + A LINQ expression filter. + A property selector to order by descending. + An optional partitionKey. + + + + Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter. + + The document type. + The type of the primary key. + A LINQ expression filter. + A property selector to order by ascending. + An optional partitionKey. + + + + Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter. + + The document type. + The type of the primary key. + A LINQ expression filter. + A property selector to order by ascending. + An optional partitionKey. + + + + Gets the maximum value of a property in a mongodb collections that is satisfying the filter. + + The document type. + The type of the primary key. + The type of the value used to order the query. + A LINQ expression filter. + A property selector to order by ascending. + An optional partitionKey. + + + + Gets the maximum value of a property in a mongodb collections that is satisfying the filter. + + The document type. + The type of the primary key. + The type of the value used to order the query. + A LINQ expression filter. + A property selector to order by ascending. + An optional partitionKey. + + + + Gets the minimum value of a property in a mongodb collections that is satisfying the filter. + + The document type. + The type of the primary key. + The type of the value used to order the query. + A LINQ expression filter. + A property selector to order by ascending. + An optional partition key. + + + + Gets the minimum value of a property in a mongodb collections that is satisfying the filter. + + The document type. + The type of the primary key. + The type of the value used to order the query. + A LINQ expression filter. + A property selector to order by ascending. + An optional partition key. + + + + Sums the values of a selected field for a given filtered collection of documents. + + The type representing a Document. + The type of the primary key. + A LINQ expression filter. + The field you want to sum. + The partition key of your document, if any. + + + + Sums the values of a selected field for a given filtered collection of documents. + + The type representing a Document. + The type of the primary key. + A LINQ expression filter. + The field you want to sum. + The partition key of your document, if any. + + + + Sums the values of a selected field for a given filtered collection of documents. + + The type representing a Document. + The type of the primary key. + A LINQ expression filter. + The field you want to sum. + The partition key of your document, if any. + + + + Sums the values of a selected field for a given filtered collection of documents. + + The type representing a Document. + The type of the primary key. + A LINQ expression filter. + The field you want to sum. + The partition key of your document, if any. + + + + Asynchronously returns a projected document matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + The type representing the model you want to project to. + + The projection expression. + An optional partition key. + + + + Returns a projected document matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + The type representing the model you want to project to. + + The projection expression. + An optional partition key. + + + + Asynchronously returns a list of projected documents matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + The type representing the model you want to project to. + + The projection expression. + An optional partition key. + + + + Asynchronously returns a list of projected documents matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + The type representing the model you want to project to. + + The projection expression. + An optional partition key. + + + + Groups filtered a collection of documents given a grouping criteria, + and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. + + The type representing a Document. + The type of the grouping criteria. + The type of the projected group. + The type of the primary key. + The grouping criteria. + The projected group result. + The partition key of your document, if any. + + + + Groups filtered a collection of documents given a grouping criteria, + and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. + + The type representing a Document. + The type of the grouping criteria. + The type of the projected group. + The type of the primary key. + A LINQ expression filter. + The grouping criteria. + The projected group result. + The partition key of your document, if any. + + + + Asynchronously returns a paginated list of the documents matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + The property selector. + Order of the sorting. + The number of documents you want to skip. Default value is 0. + The number of documents you want to take. Default value is 50. + An optional partition key. + + + + Asynchronously returns a paginated list of the documents matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + The sort definition. + The number of documents you want to skip. Default value is 0. + The number of documents you want to take. Default value is 50. + An optional partition key. + + + + This is the interface of the IMongoDbContext which is managed by the . + + + + + The IMongoClient from the official MongoDb driver + + + + + The IMongoDatabase from the official Mongodb driver + + + + + Returns a collection for a document type that has a partition key. + + + The value of the partition key. + + + + Drops a collection having a partitionkey, use very carefully. + + + + + + Sets the Guid representation of the MongoDb Driver. + + The new value of the GuidRepresentation + + + + The IReadOnlyMongoRepository exposes the readonly functionality of the BaseMongoRepository. + + + + + Asynchronously returns one document given its id. + + The type representing a Document. + The Id of the document you want to get. + An optional partition key. + + + + Returns one document given its id. + + The type representing a Document. + The Id of the document you want to get. + An optional partition key. + + + + Asynchronously returns one document given an expression filter. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + + + + Returns one document given an expression filter. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + + + + Returns a collection cursor. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + + + + Asynchronously returns true if any of the document of the collection matches the filter condition. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + + + + Returns true if any of the document of the collection matches the filter condition. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + + + + Asynchronously returns a list of the documents matching the filter condition. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + + + + Returns a list of the documents matching the filter condition. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + + + + Asynchronously counts how many documents match the filter condition. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + + + + Counts how many documents match the filter condition. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + + + + Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. + + The document type. + A LINQ expression filter. + A property selector to order by descending. + An optional partitionKey. + + + + Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. + + The document type. + A LINQ expression filter. + A property selector to order by descending. + An optional partitionKey. + + + + + Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. + + The document type. + A LINQ expression filter. + A property selector to order by ascending. + An optional partitionKey. + + + + Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. + + The document type. + A LINQ expression filter. + A property selector to order by ascending. + An optional partitionKey. + + + + Gets the maximum value of a property in a mongodb collections that is satisfying the filter. + + The document type. + The type of the value used to order the query. + A LINQ expression filter. + A property selector to order by ascending. + An optional partitionKey. + + + + Gets the maximum value of a property in a mongodb collections that is satisfying the filter. + + The document type. + The type of the value used to order the query. + A LINQ expression filter. + A property selector to order by ascending. + An optional partitionKey. + + + + Gets the minimum value of a property in a mongodb collections that is satisfying the filter. + + The document type. + The type of the value used to order the query. + A LINQ expression filter. + A property selector to order by ascending. + An optional partition key. + + + + Gets the minimum value of a property in a mongodb collections that is satisfying the filter. + + The document type. + The type of the value used to order the query. + A LINQ expression filter. + A property selector to order by ascending. + An optional partition key. + + + + Sums the values of a selected field for a given filtered collection of documents. + + The type representing a Document. + A LINQ expression filter. + The field you want to sum. + The partition key of your document, if any. + + + + Sums the values of a selected field for a given filtered collection of documents. + + The type representing a Document. + A LINQ expression filter. + The field you want to sum. + The partition key of your document, if any. + + + + Sums the values of a selected field for a given filtered collection of documents. + + The type representing a Document. + A LINQ expression filter. + The field you want to sum. + The partition key of your document, if any. + + + + Sums the values of a selected field for a given filtered collection of documents. + + The type representing a Document. + A LINQ expression filter. + The field you want to sum. + The partition key of your document, if any. + + + + Asynchronously returns a projected document matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + The type representing the model you want to project to. + A LINQ expression filter. + The projection expression. + An optional partition key. + + + + Returns a projected document matching the filter condition. + + The type representing a Document. + The type representing the model you want to project to. + A LINQ expression filter. + The projection expression. + An optional partition key. + + + + Asynchronously returns a list of projected documents matching the filter condition. + + The type representing a Document. + The type representing the model you want to project to. + A LINQ expression filter. + The projection expression. + An optional partition key. + + + + Asynchronously returns a list of projected documents matching the filter condition. + + The type representing a Document. + The type representing the model you want to project to. + A LINQ expression filter. + The projection expression. + An optional partition key. + + + + Groups a collection of documents given a grouping criteria, + and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. + + The type representing a Document. + The type of the grouping criteria. + The type of the projected group. + The grouping criteria. + The projected group result. + The partition key of your document, if any. + + + + Groups filtered a collection of documents given a grouping criteria, + and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. + + The type representing a Document. + The type of the grouping criteria. + The type of the projected group. + A LINQ expression filter. + The grouping criteria. + The projected group result. + The partition key of your document, if any. + + + + Asynchronously returns a paginated list of the documents matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + The property selector. + Order of the sorting. + The number of documents you want to skip. Default value is 0. + The number of documents you want to take. Default value is 50. + An optional partition key. + + + + Asynchronously returns a paginated list of the documents matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + The sort definition. + The number of documents you want to skip. Default value is 0. + The number of documents you want to take. Default value is 50. + An optional partition key. + + + + This attribute allows you to specify of the name of the collection. + Added at commit c117bf2a7fee378f1e02199dea9b2023a7089ee2 by https://github.com/Etchelon + who has included the CollectionName attribute into the repo to give another choice to the user on how + to name their collections. + The attribute takes precedence of course, and if not present the library will fall back to your Pluralize method. + + + + + The name of the collection in which your documents are stored. + + + + + The constructor. + + The name of the collection. + + + + Asynchronously adds a document to the collection. + Populates the Id and AddedAtUtc fields if necessary. + + The type representing a Document. + The type of the primary key for a Document. + The document you want to add. + + + + Adds a document to the collection. + Populates the Id and AddedAtUtc fields if necessary. + + The type representing a Document. + The type of the primary key for a Document. + The document you want to add. + + + + Asynchronously adds a list of documents to the collection. + Populates the Id and AddedAtUtc fields if necessary. + + The type representing a Document. + The type of the primary key for a Document. + The documents you want to add. + + + + Adds a list of documents to the collection. + Populates the Id and AddedAtUtc fields if necessary. + + The type representing a Document. + The type of the primary key for a Document. + The documents you want to add. + + + + The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. + Its constructor must be given a connection string and a database name. + + + The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. + Its constructor must be given a connection string and a database name. + + + The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. + Its constructor must be given a connection string and a database name. + + + The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. + Its constructor must be given a connection string and a database name. + + + + + Asynchronously adds a document to the collection. + Populates the Id and AddedAtUtc fields if necessary. + + The type representing a Document. + The type of the primary key for a Document. + The document you want to add. + + + + Asynchronously adds a document to the collection. + Populates the Id and AddedAtUtc fields if necessary. + + The type representing a Document. + The document you want to add. + + + + Adds a document to the collection. + Populates the Id and AddedAtUtc fields if necessary. + + The type representing a Document. + The type of the primary key for a Document. + The document you want to add. + + + + Adds a document to the collection. + Populates the Id and AddedAtUtc fields if necessary. + + The type representing a Document. + The document you want to add. + + + + Asynchronously adds a list of documents to the collection. + Populates the Id and AddedAtUtc fields if necessary. + + The type representing a Document. + The type of the primary key for a Document. + The documents you want to add. + + + + Asynchronously adds a list of documents to the collection. + Populates the Id and AddedAtUtc fields if necessary. + + The type representing a Document. + The documents you want to add. + + + + Adds a list of documents to the collection. + Populates the Id and AddedAtUtc fields if necessary. + + The type representing a Document. + The type of the primary key for a Document. + The documents you want to add. + + + + Adds a list of documents to the collection. + Populates the Id and AddedAtUtc fields if necessary. + + The type representing a Document. + The documents you want to add. + + + + Asynchronously deletes a document. + + The type representing a Document. + The document you want to delete. + The number of documents deleted. + + + + Deletes a document. + + The type representing a Document. + The document you want to delete. + The number of documents deleted. + + + + Deletes a document matching the condition of the LINQ expression filter. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + The number of documents deleted. + + + + Asynchronously deletes a document matching the condition of the LINQ expression filter. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + The number of documents deleted. + + + + Asynchronously deletes the documents matching the condition of the LINQ expression filter. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + The number of documents deleted. + + + + Asynchronously deletes a list of documents. + + The type representing a Document. + The list of documents to delete. + The number of documents deleted. + + + + Deletes a list of documents. + + The type representing a Document. + The list of documents to delete. + The number of documents deleted. + + + + Deletes the documents matching the condition of the LINQ expression filter. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + The number of documents deleted. + + + + Deletes a document. + + The type representing a Document. + The type of the primary key for a Document. + The document you want to delete. + The number of documents deleted. + + + + Asynchronously deletes a document matching the condition of the LINQ expression filter. + + The type representing a Document. + The type of the primary key for a Document. + The document you want to delete. + The number of documents deleted. + + + + Deletes a document matching the condition of the LINQ expression filter. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + The number of documents deleted. + + + + Asynchronously deletes a document matching the condition of the LINQ expression filter. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + The number of documents deleted. + + + + Asynchronously deletes the documents matching the condition of the LINQ expression filter. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + The number of documents deleted. + + + + Asynchronously deletes a list of documents. + + The type representing a Document. + The type of the primary key for a Document. + The list of documents to delete. + The number of documents deleted. + + + + Deletes a list of documents. + + The type representing a Document. + The type of the primary key for a Document. + The list of documents to delete. + The number of documents deleted. + + + + Deletes the documents matching the condition of the LINQ expression filter. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + The number of documents deleted. + + + + Returns the names of the indexes present on a collection. + + The type representing a Document. + The type of the primary key for a Document. + An optional partition key + A list containing the names of the indexes on on the concerned collection. + + + + Returns the names of the indexes present on a collection. + + The type representing a Document. + An optional partition key + A list containing the names of the indexes on on the concerned collection. + + + + Create a text index on the given field. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The field we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + Create a text index on the given field. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The type of the primary key for a Document. + The field we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + Creates an index on the given field in ascending order. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The field we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + Creates an index on the given field in ascending order. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The type of the primary key for a Document. + The field we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + Creates an index on the given field in descending order. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The field we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + + + + Creates a hashed index on the given field. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The field we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + + + + Creates a combined text index. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The fields we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + + + + Drops the index given a field name + + The type representing a Document. + The name of the index + An optional partition key + + + + + + + The constructor taking a connection string and a database name. + + The connection string of the MongoDb server. + The name of the database against which you want to perform operations. + + + + The contructor taking a . + + A mongodb context implementing + + + + The contructor taking a . + + A mongodb context implementing + + + + Asynchronously returns a paginated list of the documents matching the filter condition. + + The type representing a Document. + A LINQ expression filter. + The number of documents you want to skip. Default value is 0. + The number of documents you want to take. Default value is 50. + An optional partition key. + + + + Asynchronously returns a paginated list of the documents matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + The number of documents you want to skip. Default value is 0. + The number of documents you want to take. Default value is 50. + An optional partition key. + + + + GetAndUpdateOne with filter + + The type representing a Document. + A LINQ expression filter. + + + + + + + GetAndUpdateOne with filter + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + + + + + + + Sets the value of the document Id if it is not set already. + + The document type. + The type of the primary key. + The document. + + + + Sets the value of the document Id if it is not set already. + + The document type. + The document. + + + + Gets a collections for a potentially partitioned document type. + + The document type. + The collection partition key. + + + + + Gets a collections for the type TDocument with a partition key. + + The document type. + The collection partition key. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The client session. + The document with the modifications you want to persist. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The client session. + The document with the modifications you want to persist. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The client session. + The document to modify. + The update definition. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The client session. + The document to modify. + The update definition. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field to update. + The client session. + The document to modify. + The field to update. + The value of the field. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field to update. + The client session. + The document to modify. + The field to update. + The value of the field. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field to update. + The client session. + The filter for the update. + The field to update. + The value of the field. + The optional partition key. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field to update. + The client session. + The filter for the update. + The field to update. + The value of the field. + The optional partition key. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field to update. + The client session. + The filter for the update. + The field to update. + The value of the field. + The optional partition key. + The optional cancellation token. + + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field to update. + The client session. + The filter for the update. + The field to update. + The value of the field. + The optional partition key. + The optional cancellation token. + + + + + Asynchronously Updates a document. + + The type representing a Document. + The document with the modifications you want to persist. + + + + Updates a document. + + The type representing a Document. + The document with the modifications you want to persist. + + + + Takes a document you want to modify and applies the update you have defined in MongoDb. + + The type representing a Document. + The document you want to modify. + The update definition for the document. + + + + Takes a document you want to modify and applies the update you have defined in MongoDb. + + The type representing a Document. + The document you want to modify. + The update definition for the document. + + + + Updates the property field with the given value update a property field in entities. + + The type representing a Document. + The type of the field. + The document you want to modify. + The field selector. + The new value of the property field. + + + + Updates the property field with the given value update a property field in entities. + + The type representing a Document. + The type of the field. + The document you want to modify. + The field selector. + The new value of the property field. + + + + Updates the property field with the given value update a property field in entities. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entity selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + Updates the property field with the given value update a property field in entities. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entity selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The type of the primary key for a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + Asynchronously Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The document with the modifications you want to persist. + + + + Updates a document. + + The type representing a Document. + The type of the primary key for a Document. + The document with the modifications you want to persist. + + + + Takes a document you want to modify and applies the update you have defined in MongoDb. + + The type representing a Document. + The type of the primary key for a Document. + The document you want to modify. + The update definition for the document. + + + + Takes a document you want to modify and applies the update you have defined in MongoDb. + + The type representing a Document. + The type of the primary key for a Document. + The document you want to modify. + The update definition for the document. + + + + Updates the property field with the given value update a property field in entities. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document you want to modify. + The field selector. + The new value of the property field. + + + + Updates the property field with the given value update a property field in entities. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document you want to modify. + The field selector. + The new value of the property field. + + + + Updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entity selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + Updates the property field with the given value update a property field in entities. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entity selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The type of the primary key for a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The type of the primary key for a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The type of the primary key for a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The type of the primary key for a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + Deletes a document. + + The type representing a Document. + The type of the primary key for a Document. + The document you want to delete. + The number of documents deleted. + + + + Asynchronously deletes a document matching the condition of the LINQ expression filter. + + The type representing a Document. + The type of the primary key for a Document. + The document you want to delete. + The number of documents deleted. + + + + Deletes a document matching the condition of the LINQ expression filter. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + The number of documents deleted. + + + + Asynchronously deletes a document matching the condition of the LINQ expression filter. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + The number of documents deleted. + + + + Asynchronously deletes the documents matching the condition of the LINQ expression filter. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + The number of documents deleted. + + + + Asynchronously deletes a list of documents. + + The type representing a Document. + The type of the primary key for a Document. + The list of documents to delete. + The number of documents deleted. + + + + Deletes a list of documents. + + The type representing a Document. + The type of the primary key for a Document. + The list of documents to delete. + The number of documents deleted. + + + + Deletes the documents matching the condition of the LINQ expression filter. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + The number of documents deleted. + + + + Returns the names of the indexes present on a collection. + + The type representing a Document. + The type of the primary key for a Document. + An optional partition key + A list containing the names of the indexes on on the concerned collection. + + + + Create a text index on the given field. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The type of the primary key for a Document. + The field we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + Creates an index on the given field in ascending order. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The type of the primary key for a Document. + The field we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + Creates an index on the given field in descending order. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The type of the primary key for a Document. + The field we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + Creates a hashed index on the given field. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The type of the primary key for a Document. + The field we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + Creates a combined text index. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The type of the primary key for a Document. + The fields we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + Drops the index given a field name + + The type representing a Document. + The type of the primary key for a Document. + The name of the index + An optional partition key + + + + The interface exposing data insertion functionality for Key typed repositories. + + + + + + Asynchronously adds a document to the collection. + Populates the Id and AddedAtUtc fields if necessary. + + The type representing a Document. + The document you want to add. + + + + Adds a document to the collection. + Populates the Id and AddedAtUtc fields if necessary. + + The type representing a Document. + The document you want to add. + + + + Asynchronously adds a list of documents to the collection. + Populates the Id and AddedAtUtc fields if necessary. + + The type representing a Document. + The documents you want to add. + + + + Adds a list of documents to the collection. + Populates the Id and AddedAtUtc fields if necessary. + + The type representing a Document. + The documents you want to add. + + + + The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. + Its constructor must be given a connection string and a database name. + + + The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. + Its constructor must be given a connection string and a database name. + + + The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. + Its constructor must be given a connection string and a database name. + + The type of the document Id. + + + + The MongoDb accessor to insert data. + + + + + Asynchronously adds a document to the collection. + Populates the Id and AddedAtUtc fields if necessary. + + The type representing a Document. + The document you want to add. + + + + Adds a document to the collection. + Populates the Id and AddedAtUtc fields if necessary. + + The type representing a Document. + The document you want to add. + + + + Asynchronously adds a list of documents to the collection. + Populates the Id and AddedAtUtc fields if necessary. + + The type representing a Document. + The documents you want to add. + + + + Adds a list of documents to the collection. + Populates the Id and AddedAtUtc fields if necessary. + + The type representing a Document. + The documents you want to add. + + + + The MongoDb accessor to delete data. + + + + + Deletes a document. + + The type representing a Document. + The document you want to delete. + The number of documents deleted. + + + + Asynchronously deletes a document matching the condition of the LINQ expression filter. + + The type representing a Document. + The document you want to delete. + The number of documents deleted. + + + + Deletes a document matching the condition of the LINQ expression filter. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + The number of documents deleted. + + + + Asynchronously deletes a document matching the condition of the LINQ expression filter. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + The number of documents deleted. + + + + Asynchronously deletes the documents matching the condition of the LINQ expression filter. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + The number of documents deleted. + + + + Asynchronously deletes a list of documents. + + The type representing a Document. + The list of documents to delete. + The number of documents deleted. + + + + Deletes a list of documents. + + The type representing a Document. + The list of documents to delete. + The number of documents deleted. + + + + Deletes the documents matching the condition of the LINQ expression filter. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + The number of documents deleted. + + + + The MongoDb accessor to manage indexes. + + + + + Returns the names of the indexes present on a collection. + + The type representing a Document. + An optional partition key + A list containing the names of the indexes on on the concerned collection. + + + + Create a text index on the given field. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The field we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + Creates an index on the given field in ascending order. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The field we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + Creates an index on the given field in descending order. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The field we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + Creates a hashed index on the given field. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The field we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + Creates a combined text index. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The fields we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + Drops the index given a field name + + The type representing a Document. + The name of the index + An optional partition key + + + + The constructor taking a connection string and a database name. + + The connection string of the MongoDb server. + The name of the database against which you want to perform operations. + + + + The contructor taking a . + + A mongodb context implementing + + + + The contructor taking a . + + A mongodb context implementing + + + + Gets a collections for a potentially partitioned document type. + + The document type. + The collection partition key. + + + + + Gets a collections for the type TDocument with a partition key. + + The document type. + The collection partition key. + + + + + Asynchronously Updates a document. + + The type representing a Document. + The document with the modifications you want to persist. + + + + Updates a document. + + The type representing a Document. + The document with the modifications you want to persist. + + + + Takes a document you want to modify and applies the update you have defined in MongoDb. + + The type representing a Document. + The document you want to modify. + The update definition for the document. + + + + Takes a document you want to modify and applies the update you have defined in MongoDb. + + The type representing a Document. + The document you want to modify. + The update definition for the document. + + + + Updates the property field with the given value update a property field in entities. + + The type representing a Document. + The type of the field. + The document you want to modify. + The field selector. + The new value of the property field. + + + + Updates the property field with the given value update a property field in entities. + + The type representing a Document. + The type of the field. + The document you want to modify. + The field selector. + The new value of the property field. + + + + Updates the property field with the given value update a property field in entities. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entity selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + Updates the property field with the given value update a property field in entities. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entity selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + The interface exposing deletion functionality for Key typed repositories. + + The type of the document Id. + + + + Deletes a document. + + The type representing a Document. + The document you want to delete. + The number of documents deleted. + + + + Asynchronously deletes a document matching the condition of the LINQ expression filter. + + The type representing a Document. + The document you want to delete. + The number of documents deleted. + + + + Deletes a document matching the condition of the LINQ expression filter. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + The number of documents deleted. + + + + Asynchronously deletes a document matching the condition of the LINQ expression filter. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + The number of documents deleted. + + + + Asynchronously deletes the documents matching the condition of the LINQ expression filter. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + The number of documents deleted. + + + + Asynchronously deletes a list of documents. + + The type representing a Document. + The list of documents to delete. + The number of documents deleted. + + + + Deletes a list of documents. + + The type representing a Document. + The list of documents to delete. + The number of documents deleted. + + + + Deletes the documents matching the condition of the LINQ expression filter. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + The number of documents deleted. + + + + The interface exposing index management functionality for Key typed repositories. + + + + + + Returns the names of the indexes present on a collection. + + The type representing a Document. + An optional partition key + A list containing the names of the indexes on on the concerned collection. + + + + Create a text index on the given field. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The field we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + Creates an index on the given field in ascending order. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The field we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + Creates an index on the given field in descending order. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The field we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + Creates a hashed index on the given field. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The field we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + Creates a combined text index. + IndexCreationOptions can be supplied to further specify + how the creation should be done. + + The type representing a Document. + The fields we want to index. + Options for creating an index. + An optional partition key. + The result of the create index operation. + + + + Drops the index given a field name + + The type representing a Document. + The name of the index + An optional partition key + + + + The interface exposing all the CRUD and Index functionalities for Key typed repositories. + + The type of the document Id. + + + + The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. + Its constructor must be given a connection string and a database name. + + + + + The connection string. + + + + + The database name. + + + + + The MongoDbContext + + + + + A MongoDb Reader for read operations + + + + + The constructor taking a connection string and a database name. + + The connection string of the MongoDb server. + The name of the database against which you want to perform operations. + + + + The contructor taking a . + + A mongodb context implementing + + + + The contructor taking a . + + A mongodb context implementing + + + + Asynchronously returns one document given its id. + + The type representing a Document. + The Id of the document you want to get. + An optional partition key. + + + + Returns one document given its id. + + The type representing a Document. + The Id of the document you want to get. + An optional partition key. + + + + Asynchronously returns one document given an expression filter. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + + + + Returns one document given an expression filter. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + + + + Returns a collection cursor. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + + + + Returns true if any of the document of the collection matches the filter condition. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + + + + Returns true if any of the document of the collection matches the filter condition. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + + + + Asynchronously returns a list of the documents matching the filter condition. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + + + + Returns a list of the documents matching the filter condition. + + The type representing a Document. + A LINQ expression filter. + An optional partition key. + + + + Asynchronously counts how many documents match the filter condition. + + The type representing a Document. + A LINQ expression filter. + An optional partitionKey + + + + Counts how many documents match the filter condition. + + The type representing a Document. + A LINQ expression filter. + An optional partitionKey + + + + Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. + + The document type. + A LINQ expression filter. + A property selector to order by descending. + An optional partitionKey. + + + + Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. + + The document type. + A LINQ expression filter. + A property selector to order by descending. + An optional partitionKey. + + + + + Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. + + The document type. + A LINQ expression filter. + A property selector to order by ascending. + An optional partitionKey. + + + + Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. + + The document type. + A LINQ expression filter. + A property selector to order by ascending. + An optional partitionKey. + + + + Gets the maximum value of a property in a mongodb collections that is satisfying the filter. + + The document type. + The type of the value used to order the query. + A LINQ expression filter. + A property selector to order by ascending. + An optional partitionKey. + + + + Gets the maximum value of a property in a mongodb collections that is satisfying the filter. + + The document type. + The type of the value used to order the query. + A LINQ expression filter. + A property selector to order by ascending. + An optional partitionKey. + + + + Gets the minimum value of a property in a mongodb collections that is satisfying the filter. + + The document type. + The type of the value used to order the query. + A LINQ expression filter. + A property selector to order by ascending. + An optional partition key. + + + + Gets the minimum value of a property in a mongodb collections that is satisfying the filter. + + The document type. + The type of the value used to order the query. + A LINQ expression filter. + A property selector to order by ascending. + An optional partition key. + + + + Sums the values of a selected field for a given filtered collection of documents. + + The type representing a Document. + A LINQ expression filter. + The field you want to sum. + The partition key of your document, if any. + + + + Sums the values of a selected field for a given filtered collection of documents. + + The type representing a Document. + A LINQ expression filter. + The field you want to sum. + The partition key of your document, if any. + + + + Sums the values of a selected field for a given filtered collection of documents. + + The type representing a Document. + A LINQ expression filter. + The field you want to sum. + The partition key of your document, if any. + + + + Sums the values of a selected field for a given filtered collection of documents. + + The type representing a Document. + A LINQ expression filter. + The field you want to sum. + The partition key of your document, if any. + + + + Asynchronously returns a projected document matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + The type representing the model you want to project to. + A LINQ expression filter. + The projection expression. + An optional partition key. + + + + Returns a projected document matching the filter condition. + + The type representing a Document. + The type representing the model you want to project to. + A LINQ expression filter. + The projection expression. + An optional partition key. + + + + Asynchronously returns a list of projected documents matching the filter condition. + + The type representing a Document. + The type representing the model you want to project to. + A LINQ expression filter. + The projection expression. + An optional partition key. + + + + Asynchronously returns a list of projected documents matching the filter condition. + + The type representing a Document. + The type representing the model you want to project to. + A LINQ expression filter. + The projection expression. + An optional partition key. + + + + Groups a collection of documents given a grouping criteria, + and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. + + The type representing a Document. + The type of the grouping criteria. + The type of the projected group. + The grouping criteria. + The projected group result. + The partition key of your document, if any. + + + + Groups filtered a collection of documents given a grouping criteria, + and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. + + The type representing a Document. + The type of the grouping criteria. + The type of the projected group. + A LINQ expression filter. + The grouping criteria. + The projected group result. + The partition key of your document, if any. + + + + Asynchronously returns a paginated list of the documents matching the filter condition. + + The type representing a Document. + A LINQ expression filter. + The property selector. + Order of the sorting. + The number of documents you want to skip. Default value is 0. + The number of documents you want to take. Default value is 50. + An optional partition key. + + + + Asynchronously returns a paginated list of the documents matching the filter condition. + + The type representing a Document. + A LINQ expression filter. + The sort definition. + The number of documents you want to skip. Default value is 0. + The number of documents you want to take. Default value is 50. + An optional partition key. + + + + Asynchronously Updates a document. + + The type representing a Document. + The document with the modifications you want to persist. + + + + Updates a document. + + The type representing a Document. + The document with the modifications you want to persist. + + + + Takes a document you want to modify and applies the update you have defined in MongoDb. + + The type representing a Document. + The document you want to modify. + The update definition for the document. + + + + Takes a document you want to modify and applies the update you have defined in MongoDb. + + The type representing a Document. + The document you want to modify. + The update definition for the document. + + + + Updates the property field with the given value update a property field in entities. + + The type representing a Document. + The type of the field. + The document you want to modify. + The field selector. + The new value of the property field. + + + + Updates the property field with the given value update a property field in entities. + + The type representing a Document. + The type of the field. + The document you want to modify. + The field selector. + The new value of the property field. + + + + Updates the property field with the given value update a property field in entities. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entity selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + Updates the property field with the given value update a property field in entities. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entity selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + This class represents a basic document that can be stored in MongoDb. + Your document must implement this class in order for the MongoDbRepository to handle them. + + + + + The document constructor + + + + + The Id of the document + + + + + The datetime in UTC at which the document was added. + + + + + The version of the schema of the document + + + + + This class represents a basic document that can be stored in MongoDb. + Your document must implement this class in order for the MongoDbRepository to handle them. + + + + + The Primary Key, which must be decorated with the [BsonId] attribute + if you want the MongoDb C# driver to consider it to be the document ID. + + + + + A version number, to indicate the version of the schema. + + + + + This class represents a basic document that can be stored in MongoDb. + Your document must implement this class in order for the MongoDbRepository to handle them. + + + + + Options for creating an index. + + + + + Gets or sets a value indicating whether the index is a unique index. + + + + + Gets or sets the index version for text indexes. + + + + + Gets or sets the index version for 2dsphere indexes. + + + + + Gets or sets a value indicating whether the index is a sparse index. + + + + + Gets or sets the index name. + + + + + Gets or sets the min value for 2d indexes. + + + + + Gets or sets the max value for 2d indexes. + + + + + Gets or sets the language override. + + + + + Gets or sets when documents expire (used with TTL indexes). + + + + + Gets or sets the default language. + + + + + Gets or sets the size of a geohash bucket. + + + + + Gets or sets the precision, in bits, used with geohash indexes. + + + + + Gets or sets a value indicating whether to create the index in the background. + + + + + Gets or sets the version of the index. + + + + + This class represents a document that can be inserted in a collection that can be partitioned. + The partition key allows for the creation of different collections having the same document schema. + This can be useful if you are planning to build a Software as a Service (SaaS) Platform, or if you want to reduce indexing. + You could for example insert Logs in different collections based on the week and year they where created, or their Log category/source. + + + + + The partition key used to partition your collection. + + + + + This class represents a document that can be inserted in a collection that can be partitioned. + The partition key allows for the creation of different collections having the same document schema. + This can be useful if you are planning to build a Software as a Service (SaaS) Platform, or if you want to reduce indexing. + You could for example insert Logs in different collections based on the week and year they where created, or their Log category/source. + + + + + The constructor, it needs a partition key. + + + + + + The name of the property used for partitioning the collection + This will not be inserted into the collection. + This partition key will be prepended to the collection name to create a new collection. + + + + + The MongoDb context + + + + + The IMongoClient from the official MongoDB driver + + + + + The IMongoDatabase from the official MongoDB driver + + + + + The constructor of the MongoDbContext, it needs an object implementing . + + An object implementing IMongoDatabase + + + + The constructor of the MongoDbContext, it needs a connection string and a database name. + + The connections string. + The name of your database. + + + + Initialise an instance of a using a connection string + + + + + + The constructor of the MongoDbContext, it needs a connection string and a database name. + + The MongoClient. + The name of your database. + + + + Returns a collection for a document type. Also handles document types with a partition key. + + The type representing a Document. + The optional value of the partition key. + + + + Drops a collection, use very carefully. + + The type representing a Document. + + + + Sets the Guid representation of the MongoDB Driver. + + The new value of the GuidRepresentation + + + + Extracts the CollectionName attribute from the entity type, if any. + + The type representing a Document. + The name of the collection in which the TDocument is stored. + + + + Initialize the Guid representation of the MongoDB Driver. + Override this method to change the default GuidRepresentation. + + + + + Given the document type and the partition key, returns the name of the collection it belongs to. + + The type representing a Document. + The value of the partition key. + The name of the collection. + + + + Very naively pluralizes a TDocument type name. + + The type representing a Document. + The pluralized document name. + + + + The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. + Its constructor must be given a connection string and a database name. + + + + + The constructor taking a connection string and a database name. + + The connection string of the MongoDb server. + The name of the database against which you want to perform operations. + + + + The contructor taking a . + + A mongodb context implementing + + + + The contructor taking a . + + A mongodb context implementing + + + + Asynchronously returns one document given its id. + + The type representing a Document. + The type of the primary key for a Document. + The Id of the document you want to get. + An optional partition key. + + + + Returns one document given its id. + + The type representing a Document. + The type of the primary key for a Document. + The Id of the document you want to get. + An optional partition key. + + + + Asynchronously returns one document given an expression filter. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + + + + Returns one document given an expression filter. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + + + + Returns a collection cursor. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + + + + Returns true if any of the document of the collection matches the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + + + + Returns true if any of the document of the collection matches the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + + + + Asynchronously returns a list of the documents matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + + + + Returns a list of the documents matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partition key. + + + + Asynchronously counts how many documents match the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partitionKey + + + + Counts how many documents match the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + An optional partitionKey + + + + Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. + + The document type. + The type of the primary key. + A LINQ expression filter. + A property selector to order by descending. + An optional partitionKey. + + + + Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. + + The document type. + The type of the primary key. + A LINQ expression filter. + A property selector to order by descending. + An optional partitionKey. + + + + Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter. + + The document type. + The type of the primary key. + A LINQ expression filter. + A property selector to order by ascending. + An optional partitionKey. + + + + Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter. + + The document type. + The type of the primary key. + A LINQ expression filter. + A property selector to order by ascending. + An optional partitionKey. + + + + Gets the maximum value of a property in a mongodb collections that is satisfying the filter. + + The document type. + The type of the primary key. + The type of the value used to order the query. + A LINQ expression filter. + A property selector to select the max value. + An optional partitionKey. + + + + Gets the maximum value of a property in a mongodb collections that is satisfying the filter. + + The document type. + The type of the primary key. + The type of the value used to order the query. + A LINQ expression filter. + A property selector to order by ascending. + An optional partitionKey. + + + + Gets the minimum value of a property in a mongodb collections that is satisfying the filter. + + The document type. + The type of the primary key. + The type of the value used to order the query. + A LINQ expression filter. + A property selector to order by ascending. + An optional partition key. + + + + Gets the minimum value of a property in a mongodb collections that is satisfying the filter. + + The document type. + The type of the primary key. + The type of the value used to order the query. + A LINQ expression filter. + A property selector to order by ascending. + An optional partition key. + + + + Sums the values of a selected field for a given filtered collection of documents. + + The type representing a Document. + The type of the primary key. + A LINQ expression filter. + The field you want to sum. + The partition key of your document, if any. + + + + Sums the values of a selected field for a given filtered collection of documents. + + The type representing a Document. + The type of the primary key. + A LINQ expression filter. + The field you want to sum. + The partition key of your document, if any. + + + + Sums the values of a selected field for a given filtered collection of documents. + + The type representing a Document. + The type of the primary key. + A LINQ expression filter. + The field you want to sum. + The partition key of your document, if any. + + + + Sums the values of a selected field for a given filtered collection of documents. + + The type representing a Document. + The type of the primary key. + A LINQ expression filter. + The field you want to sum. + The partition key of your document, if any. + + + + Asynchronously returns a projected document matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + The type representing the model you want to project to. + A LINQ expression filter. + The projection expression. + An optional partition key. + + + + Returns a projected document matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + The type representing the model you want to project to. + A LINQ expression filter. + The projection expression. + An optional partition key. + + + + Asynchronously returns a list of projected documents matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + The type representing the model you want to project to. + A LINQ expression filter. + The projection expression. + An optional partition key. + + + + Asynchronously returns a list of projected documents matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + The type representing the model you want to project to. + The document filter. + The projection expression. + An optional partition key. + + + + Groups filtered a collection of documents given a grouping criteria, + and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. + + The type representing a Document. + The type of the primary key for a Document. + The type of the grouping criteria. + The type of the projected group. + The grouping criteria. + The projected group result. + The partition key of your document, if any. + + + + Groups filtered a collection of documents given a grouping criteria, + and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. + + The type representing a Document. + The type of the primary key for a Document. + The type of the grouping criteria. + The type of the projected group. + A LINQ expression filter. + The grouping criteria. + The projected group result. + The partition key of your document, if any. + + + + Asynchronously returns a paginated list of the documents matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + The property selector. + Order of the sorting. + The number of documents you want to skip. Default value is 0. + The number of documents you want to take. Default value is 50. + An optional partition key. + + + + Asynchronously returns a paginated list of the documents matching the filter condition. + + The type representing a Document. + The type of the primary key for a Document. + A LINQ expression filter. + The sort definition. + The number of documents you want to skip. Default value is 0. + The number of documents you want to take. Default value is 50. + An optional partition key. + + + + Gets a collections for a potentially partitioned document type. + + The document type. + The type of the primary key. + The document. + + + + + Gets a collections for a potentially partitioned document type. + + The document type. + The type of the primary key. + The collection partition key. + + + + + Gets a collections for a potentially partitioned document type. + + The document type. + The document. + + + + + Gets a collections for the type TDocument with a partition key. + + The document type. + The type of the primary key. + The collection partition key. + + + + + The IdGenerator instance, used to generate Ids of different types. + + + + + Generates a random value of a given type. + + The type of the value to generate. + A value of type TKey. + + + + Container for registered Vocabularies. At present, only a single vocabulary is supported: Default. + + + + + The default vocabulary used for singular/plural irregularities. + Rules can be added to this vocabulary and will be picked up by called to Singularize() and Pluralize(). + At this time, multiple vocabularies and removing existing rules are not supported. + + + + + A container for exceptions to simple pluralization/singularization rules. + Vocabularies.Default contains an extensive list of rules for US English. + At this time, multiple vocabularies and removing existing rules are not supported. + + + + + Adds a word to the vocabulary which cannot easily be pluralized/singularized by RegEx, e.g. "person" and "people". + + The singular form of the irregular word, e.g. "person". + The plural form of the irregular word, e.g. "people". + True to match these words on their own as well as at the end of longer words. False, otherwise. + + + + Adds an uncountable word to the vocabulary, e.g. "fish". Will be ignored when plurality is changed. + + Word to be added to the list of uncountables. + + + + Adds a rule to the vocabulary that does not follow trivial rules for pluralization, e.g. "bus" -> "buses" + + RegEx to be matched, case insensitive, e.g. "(bus)es$" + RegEx replacement e.g. "$1" + + + + Adds a rule to the vocabulary that does not follow trivial rules for singularization, e.g. "vertices/indices -> "vertex/index" + + RegEx to be matched, case insensitive, e.g. ""(vert|ind)ices$"" + RegEx replacement e.g. "$1ex" + + + + Pluralizes the provided input considering irregular words + + Word to be pluralized + Normally you call Pluralize on singular words; but if you're unsure call it with false + + + + + Singularizes the provided input considering irregular words + + Word to be singularized + Normally you call Singularize on plural words; but if you're unsure call it with false + + + + + Inflector extensions + + + + + Pluralizes the provided input considering irregular words + + Word to be pluralized + Normally you call Pluralize on singular words; but if you're unsure call it with false + + + + + Singularizes the provided input considering irregular words + + Word to be singularized + Normally you call Singularize on plural words; but if you're unsure call it with false + + + + + By default, pascalize converts strings to UpperCamelCase also removing underscores + + + + + + + Same as Pascalize except that the first character is lower case + + + + + + + Separates the input words with underscore + + The string to be underscored + + + + + Replaces underscores with dashes in the string + + + + + + + Replaces underscores with hyphens in the string + + + + + + + Extensions for the random number generator + + + + + Returns a random long from min (inclusive) to max (exclusive) + + The given random instance + The inclusive minimum bound + The exclusive maximum bound. Must be greater than min + + + + Returns a random long from 0 (inclusive) to max (exclusive) + + The given random instance + The exclusive maximum bound. Must be greater than 0 + + + + Returns a random long over all possible values of long (except long.MaxValue, similar to + random.Next()) + + The given random instance + + + diff --git a/MongoDbGenericRepository/lib/netstandard1.5/MongoDbGenericRepository.dll b/MongoDbGenericRepository/lib/netstandard1.5/MongoDbGenericRepository.dll index dca7898..4ac6414 100644 Binary files a/MongoDbGenericRepository/lib/netstandard1.5/MongoDbGenericRepository.dll and b/MongoDbGenericRepository/lib/netstandard1.5/MongoDbGenericRepository.dll differ diff --git a/MongoDbGenericRepository/lib/netstandard2.0/MongoDbGenericRepository.dll b/MongoDbGenericRepository/lib/netstandard2.0/MongoDbGenericRepository.dll index ad5e0c3..8a53c53 100644 Binary files a/MongoDbGenericRepository/lib/netstandard2.0/MongoDbGenericRepository.dll and b/MongoDbGenericRepository/lib/netstandard2.0/MongoDbGenericRepository.dll differ