1

TL;DR:Cosmos 似乎忽略了这个maxTimeMS选项。

我正在使用 MongoDB API 处理一个相当大的分区 CosmosDB 集合(几百万个文档),并发现一些聚合在大约 10 秒后超时。我可以用非常小的窗口(即非常具体的匹配标准)进行很好的查询,但是如果我匹配 50k+ 个文档,则查询超时。如果相关,我将使用 Cosmos 添加的默认索引。

我试过maxTimeMs在我的 Mongo 客户端上通过 (30s) 并设置各种其他超时选项,但无济于事。

作为参考,我使用的是 C# Mongo 驱动程序,命令如下:

{
  "aggregate" : "MyDocuments",
  "pipeline" : [{
      "$match" : {
        "Created" : {
          "$gt" : ...,
          "$lt" : ...
        }
      }
    }, {
      "$group" : {
        "_id" : "$QueryTerms",
        "Count" : {
          "$sum" : 1
        },
        "FooCount" : {
          "$max" : "$Foo.Count"
        },
        "Bar" : {
          "$first" : "$Bar"
        }
      }
    }, {
      "$sort" : {
        "Count" : -1
      }
    }],
  "maxTimeMS" : 30000.0,
  "cursor" : { }
}
4

0 回答 0