【发布时间】: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