Interface IDocumentStorageProvider<TDocument>
Предоставляет низкоуровневые методы для работы с данными хранилища документов.
Namespace:InfinniPlatform.DocumentStorage
Assembly:InfinniPlatform.DocumentStorage.Abstractions.dll
Syntax
public interface IDocumentStorageProvider<TDocument>
Type Parameters
Name | Description |
---|---|
TDocument |
Properties
| Improve this Doc View SourceDocumentType
Имя типа документа.
Declaration
string DocumentType { get; }
Property Value
Type | Description |
---|---|
System.String |
Methods
| Improve this Doc View SourceAggregate(Expression<Func<TDocument, Boolean>>)
Возвращает интерфейс для построения запроса агрегации.
Declaration
IDocumentAggregateCursor<TDocument> Aggregate(Expression<Func<TDocument, bool>> filter = null)
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TDocument, System.Boolean>> | filter | Фильтр для поиска документов. |
Returns
Type | Description |
---|---|
IDocumentAggregateCursor<TDocument> |
Bulk(Action<IDocumentBulkBuilder<TDocument>>, Boolean)
Выполняет набор команд изменения документов в рамках одного запроса.
Declaration
DocumentBulkResult Bulk(Action<IDocumentBulkBuilder<TDocument>> requests, bool isOrdered = false)
Parameters
Type | Name | Description |
---|---|---|
Action<IDocumentBulkBuilder<TDocument>> | requests | Набор команд изменения документов. |
System.Boolean | isOrdered | Обязательно ли выполнять команды по порядку. |
Returns
Type | Description |
---|---|
DocumentBulkResult |
BulkAsync(Action<IDocumentBulkBuilder<TDocument>>, Boolean)
Выполняет набор команд изменения документов в рамках одного запроса.
Declaration
Task<DocumentBulkResult> BulkAsync(Action<IDocumentBulkBuilder<TDocument>> requests, bool isOrdered = false)
Parameters
Type | Name | Description |
---|---|---|
Action<IDocumentBulkBuilder<TDocument>> | requests | Набор команд изменения документов. |
System.Boolean | isOrdered | Обязательно ли выполнять команды по порядку. |
Returns
Type | Description |
---|---|
Task<DocumentBulkResult> |
Count(Expression<Func<TDocument, Boolean>>)
Возвращает количество документов, удовлетворяющих указанному фильтру.
Declaration
long Count(Expression<Func<TDocument, bool>> filter = null)
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TDocument, System.Boolean>> | filter | Фильтр для поиска документов. |
Returns
Type | Description |
---|---|
System.Int64 |
CountAsync(Expression<Func<TDocument, Boolean>>)
Возвращает количество документов, удовлетворяющих указанному фильтру.
Declaration
Task<long> CountAsync(Expression<Func<TDocument, bool>> filter = null)
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TDocument, System.Boolean>> | filter | Фильтр для поиска документов. |
Returns
Type | Description |
---|---|
Task<System.Int64> |
DeleteMany(Expression<Func<TDocument, Boolean>>)
Удаляет все документы, удовлетворяющие указанному фильтру.
Declaration
long DeleteMany(Expression<Func<TDocument, bool>> filter = null)
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TDocument, System.Boolean>> | filter | Фильтр для поиска документов. |
Returns
Type | Description |
---|---|
System.Int64 |
DeleteManyAsync(Expression<Func<TDocument, Boolean>>)
Удаляет все документы, удовлетворяющие указанному фильтру.
Declaration
Task<long> DeleteManyAsync(Expression<Func<TDocument, bool>> filter = null)
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TDocument, System.Boolean>> | filter | Фильтр для поиска документов. |
Returns
Type | Description |
---|---|
Task<System.Int64> |
DeleteOne(Expression<Func<TDocument, Boolean>>)
Удаляет первый найденный документ, удовлетворяющий указанному фильтру.
Declaration
long DeleteOne(Expression<Func<TDocument, bool>> filter = null)
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TDocument, System.Boolean>> | filter | Фильтр для поиска документов. |
Returns
Type | Description |
---|---|
System.Int64 |
DeleteOneAsync(Expression<Func<TDocument, Boolean>>)
Удаляет первый найденный документ, удовлетворяющий указанному фильтру.
Declaration
Task<long> DeleteOneAsync(Expression<Func<TDocument, bool>> filter = null)
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TDocument, System.Boolean>> | filter | Фильтр для поиска документов. |
Returns
Type | Description |
---|---|
Task<System.Int64> |
Distinct<TProperty>(Expression<Func<TDocument, TProperty>>, Expression<Func<TDocument, Boolean>>)
Возвращает список уникальных значений свойства документа для указанного фильтра.
Declaration
IDocumentCursor<TProperty> Distinct<TProperty>(Expression<Func<TDocument, TProperty>> property, Expression<Func<TDocument, bool>> filter = null)
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TDocument, TProperty>> | property | Свойство документа. |
Expression<Func<TDocument, System.Boolean>> | filter | Фильтр для поиска документов. |
Returns
Type | Description |
---|---|
IDocumentCursor<TProperty> |
Type Parameters
Name | Description |
---|---|
TProperty |
Distinct<TItem>(Expression<Func<TDocument, IEnumerable<TItem>>>, Expression<Func<TDocument, Boolean>>)
Возвращает список уникальных значений свойства документа для указанного фильтра.
Declaration
IDocumentCursor<TItem> Distinct<TItem>(Expression<Func<TDocument, IEnumerable<TItem>>> arrayProperty, Expression<Func<TDocument, bool>> filter = null)
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TDocument, IEnumerable<TItem>>> | arrayProperty | Свойство документа, содержащее массив. |
Expression<Func<TDocument, System.Boolean>> | filter | Фильтр для поиска документов. |
Returns
Type | Description |
---|---|
IDocumentCursor<TItem> |
Type Parameters
Name | Description |
---|---|
TItem |
DistinctAsync<TProperty>(Expression<Func<TDocument, TProperty>>, Expression<Func<TDocument, Boolean>>)
Возвращает список уникальных значений свойства документа для указанного фильтра.
Declaration
Task<IDocumentCursor<TProperty>> DistinctAsync<TProperty>(Expression<Func<TDocument, TProperty>> property, Expression<Func<TDocument, bool>> filter = null)
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TDocument, TProperty>> | property | Свойство документа. |
Expression<Func<TDocument, System.Boolean>> | filter | Фильтр для поиска документов. |
Returns
Type | Description |
---|---|
Task<IDocumentCursor<TProperty>> |
Type Parameters
Name | Description |
---|---|
TProperty |
DistinctAsync<TItem>(Expression<Func<TDocument, IEnumerable<TItem>>>, Expression<Func<TDocument, Boolean>>)
Возвращает список уникальных значений свойства документа для указанного фильтра.
Declaration
Task<IDocumentCursor<TItem>> DistinctAsync<TItem>(Expression<Func<TDocument, IEnumerable<TItem>>> arrayProperty, Expression<Func<TDocument, bool>> filter = null)
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TDocument, IEnumerable<TItem>>> | arrayProperty | Свойство документа, содержащее массив. |
Expression<Func<TDocument, System.Boolean>> | filter | Фильтр для поиска документов. |
Returns
Type | Description |
---|---|
Task<IDocumentCursor<TItem>> |
Type Parameters
Name | Description |
---|---|
TItem |
Find(Expression<Func<TDocument, Boolean>>)
Осуществляет поиск по указанному фильтру и возвращает указатель на результат поиска.
Declaration
IDocumentFindCursor<TDocument, TDocument> Find(Expression<Func<TDocument, bool>> filter = null)
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<TDocument, System.Boolean>> | filter | Фильтр для поиска документов. |
Returns
Type | Description |
---|---|
IDocumentFindCursor<TDocument, TDocument> |
FindText(String, String, Boolean, Boolean, Expression<Func<TDocument, Boolean>>)
Осуществляет полнотекстовый поиск по указанной строке и возвращает указатель на результат поиска.
Declaration
IDocumentFindCursor<TDocument, TDocument> FindText(string search, string language = null, bool caseSensitive = false, bool diacriticSensitive = false, Expression<Func<TDocument, bool>> filter = null)
Parameters
Type | Name | Description |
---|---|---|
System.String | search | Строка для полнотекстового поиска. |
System.String | language | Язык для поиска. |
System.Boolean | caseSensitive | Чувствительность к регистру символов. |
System.Boolean | diacriticSensitive | Чувствительность к диакритическим символам. |
Expression<Func<TDocument, System.Boolean>> | filter | Фильтр для поиска документов. |
Returns
Type | Description |
---|---|
IDocumentFindCursor<TDocument, TDocument> |
InsertMany(IEnumerable<TDocument>)
Вставляет набор документов хранилище или возвращает исключение, если хранилище уже содержит один из указанных документов.
Declaration
void InsertMany(IEnumerable<TDocument> documents)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<TDocument> | documents | Список документов для вставки. |
InsertManyAsync(IEnumerable<TDocument>)
Вставляет набор документов хранилище или возвращает исключение, если хранилище уже содержит один из указанных документов.
Declaration
Task InsertManyAsync(IEnumerable<TDocument> documents)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<TDocument> | documents | Список документов для вставки. |
Returns
Type | Description |
---|---|
Task |
InsertOne(TDocument)
Вставляет один документ в хранилище или возвращает исключение, если хранилище уже содержит указанный документ.
Declaration
void InsertOne(TDocument document)
Parameters
Type | Name | Description |
---|---|---|
TDocument | document | Документ для вставки. |
InsertOneAsync(TDocument)
Вставляет один документ в хранилище или возвращает исключение, если хранилище уже содержит указанный документ.
Declaration
Task InsertOneAsync(TDocument document)
Parameters
Type | Name | Description |
---|---|---|
TDocument | document | Документ для вставки. |
Returns
Type | Description |
---|---|
Task |
ReplaceOne(TDocument, Expression<Func<TDocument, Boolean>>, Boolean)
Заменяет первый найденный документ, удовлетворяющий указанному фильтру.
Declaration
DocumentUpdateResult ReplaceOne(TDocument replacement, Expression<Func<TDocument, bool>> filter = null, bool insertIfNotExists = false)
Parameters
Type | Name | Description |
---|---|---|
TDocument | replacement | Документ замены. |
Expression<Func<TDocument, System.Boolean>> | filter | Фильтр для поиска документов. |
System.Boolean | insertIfNotExists | Следует ли создать документ, если ничего не найдено. |
Returns
Type | Description |
---|---|
DocumentUpdateResult |
ReplaceOneAsync(TDocument, Expression<Func<TDocument, Boolean>>, Boolean)
Заменяет первый найденный документ, удовлетворяющий указанному фильтру.
Declaration
Task<DocumentUpdateResult> ReplaceOneAsync(TDocument replacement, Expression<Func<TDocument, bool>> filter = null, bool insertIfNotExists = false)
Parameters
Type | Name | Description |
---|---|---|
TDocument | replacement | Документ замены. |
Expression<Func<TDocument, System.Boolean>> | filter | Фильтр для поиска документов. |
System.Boolean | insertIfNotExists | Следует ли создать документ, если ничего не найдено. |
Returns
Type | Description |
---|---|
Task<DocumentUpdateResult> |
UpdateMany(Action<IDocumentUpdateBuilder<TDocument>>, Expression<Func<TDocument, Boolean>>, Boolean)
Обновляет все документы, удовлетворяющие указанному фильтру.
Declaration
DocumentUpdateResult UpdateMany(Action<IDocumentUpdateBuilder<TDocument>> update, Expression<Func<TDocument, bool>> filter = null, bool insertIfNotExists = false)
Parameters
Type | Name | Description |
---|---|---|
Action<IDocumentUpdateBuilder<TDocument>> | update | Оператор обновления документов. |
Expression<Func<TDocument, System.Boolean>> | filter | Фильтр для поиска документов. |
System.Boolean | insertIfNotExists | Следует ли создать документ, если ничего не найдено. |
Returns
Type | Description |
---|---|
DocumentUpdateResult |
UpdateManyAsync(Action<IDocumentUpdateBuilder<TDocument>>, Expression<Func<TDocument, Boolean>>, Boolean)
Обновляет все документы, удовлетворяющие указанному фильтру.
Declaration
Task<DocumentUpdateResult> UpdateManyAsync(Action<IDocumentUpdateBuilder<TDocument>> update, Expression<Func<TDocument, bool>> filter = null, bool insertIfNotExists = false)
Parameters
Type | Name | Description |
---|---|---|
Action<IDocumentUpdateBuilder<TDocument>> | update | Оператор обновления документов. |
Expression<Func<TDocument, System.Boolean>> | filter | Фильтр для поиска документов. |
System.Boolean | insertIfNotExists | Следует ли создать документ, если ничего не найдено. |
Returns
Type | Description |
---|---|
Task<DocumentUpdateResult> |
UpdateOne(Action<IDocumentUpdateBuilder<TDocument>>, Expression<Func<TDocument, Boolean>>, Boolean)
Обновляет первый найденный документ, удовлетворяющий указанному фильтру.
Declaration
DocumentUpdateResult UpdateOne(Action<IDocumentUpdateBuilder<TDocument>> update, Expression<Func<TDocument, bool>> filter = null, bool insertIfNotExists = false)
Parameters
Type | Name | Description |
---|---|---|
Action<IDocumentUpdateBuilder<TDocument>> | update | Оператор обновления документов. |
Expression<Func<TDocument, System.Boolean>> | filter | Фильтр для поиска документов. |
System.Boolean | insertIfNotExists | Следует ли создать документ, если ничего не найдено. |
Returns
Type | Description |
---|---|
DocumentUpdateResult |
UpdateOneAsync(Action<IDocumentUpdateBuilder<TDocument>>, Expression<Func<TDocument, Boolean>>, Boolean)
Обновляет первый найденный документ, удовлетворяющий указанному фильтру.
Declaration
Task<DocumentUpdateResult> UpdateOneAsync(Action<IDocumentUpdateBuilder<TDocument>> update, Expression<Func<TDocument, bool>> filter = null, bool insertIfNotExists = false)
Parameters
Type | Name | Description |
---|---|---|
Action<IDocumentUpdateBuilder<TDocument>> | update | Оператор обновления документов. |
Expression<Func<TDocument, System.Boolean>> | filter | Фильтр для поиска документов. |
System.Boolean | insertIfNotExists | Следует ли создать документ, если ничего не найдено. |
Returns
Type | Description |
---|---|
Task<DocumentUpdateResult> |