CosmosDb 3.2 - 没有聚合请求的聚合失败

CosmosDb 3.2 - aggregate failed without aggregate request

我有一个 .netcore 3.1 应用程序,它使用 mongodb 驱动程序与 CosmosDb 3.2 数据库交互。 例如这个简单的请求:

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

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

运行 这段代码显示了以下问题:

Command aggregate failed: The aggregation pipeline is not enabled for this account. Please see https://aka.ms/mongodb-aggregation for details..

我的存储库中没有任何聚合请求,我不想在 azure 上激活聚合功能。

这是我在 IOC 容器中的 MongoClient 配置:

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));

为什么我会遇到这个问题,如何解决?

我找到了答案。我在 insert() 之前有一个 count() 操作,并遵循 this 文档,它导致聚合请求。