CosmosDb 3.2 - сбой агрегата без запроса агрегата - PullRequest
0 голосов
/ 30 января 2020

У меня есть приложение .netcore 3.1, которое взаимодействует с базами данных CosmosDb 3.2 с помощью драйвера mongodb. Например, для этого простого запроса:

public void Insert(Core.Entity.Project project)
{
    var _project = _mapperCoreToInfrastructure.MapProject(project);

    _retryPolicy.Execute(() =>
    {
        _mongoCollection.InsertOne(_project);
    });
}

При выполнении этого фрагмента кода возникает следующая проблема:

Не удалось объединить команды: конвейер агрегации для этой учетной записи не включен. Подробнее см. https://aka.ms/mongodb-aggregation.

У меня нет запроса на агрегацию в моем хранилище, и я не хочу активировать функцию агрегирования на azure.

Вот моя MongoClient конфигурация в моих контейнерах IO C:

var url = new MongoUrl(Configuration.GetValue<string>("MongoConnection"));
var mongoClientSettings = MongoClientSettings.FromUrl(url);
mongoClientSettings.RetryWrites = false;
mongoClientSettings.ClusterConfigurator = clusterConfigurator =>
{
    clusterConfigurator.Subscribe<CommandSucceededEvent>(e =>
    {
        telemetryClient.TrackDependency("MongoDb", e.CommandName, e.Reply.ToString(), DateTime.Now.Subtract(e.Duration), e.Duration, true);
    });
    clusterConfigurator.Subscribe<CommandFailedEvent>(e =>
    {
        telemetryClient.TrackDependency("MongoDb", $"{e.CommandName} - {e.ToString()}", e.Failure.ToString(), DateTime.Now.Subtract(e.Duration), e.Duration, false);
    });
};
services.AddSingleton<IMongoClient>(new MongoClient(mongoClientSettings));

Почему у меня возникла эта проблема и как ее можно исправить?

1 Ответ

0 голосов
/ 05 февраля 2020

Я нашел ответ. У меня есть операция count() до моей insert(), а после этой документации это приводит к запросу агрегации.

...