我有一个.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容器中的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));为什么我有这个问题,怎么可能解决呢?
发布于 2020-02-05 08:42:57
我找到了答案。在我的count()之前有一个insert()操作,然后按照这文档,它会产生一个聚合请求。
https://stackoverflow.com/questions/59990048
复制相似问题