【问题标题】:CosmosDb 3.2 - aggregate failed without aggregate requestCosmosDb 3.2 - 在没有聚合请求的情况下聚合失败
【发布时间】:2020-01-30 16:07:21
【问题描述】:

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

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

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

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

命令聚合失败:聚合管道未启用 这个帐号。请参阅https://aka.ms/mongodb-aggregation 详情..

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

这是我的 IOC 容器中的 MongoClientconfiguration:

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

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

【问题讨论】:

    标签: .net mongodb azure azure-cosmosdb azure-cosmosdb-mongoapi


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-02
      • 2013-07-18
      • 2013-08-24
      相关资源
      最近更新 更多