Mongodb 组操作导致性能问题

Mongodb 组操作导致性能问题,mongodb,performance,aggregation-framework,query-optimization,Mongodb,Performance,Aggregation Framework,Query Optimization,这是导致性能问题的查询,更准确地说是组操作: db.documentBilling.aggregate([{ "$match" : { "$and" : [ { "startDate" : { "$gte" : ISODate("2016-09-19T22:00:00.000Z"), "$lt" : ISODate("2021-04-06T13:13:23.618Z

这是导致性能问题的查询,更准确地说是组操作:

db.documentBilling.aggregate([{ "$match" : 
{ "$and" : [ { "startDate" : { "$gte" : ISODate("2016-09-19T22:00:00.000Z"), "$lt" : ISODate("2021-04-06T13:13:23.618Z")}} , 
{ "externalId.value" : { "$not" : { "$regex" : "TEST_DOCUMENT/"}}, "type" : { "$in" : [ "DEFAULT"]}}]}},
{ "$group" : { "_id" : "$status" , "total" : { "$sum" : 1}}},
{ "$project" : { "total" : 1 , "_id" : 0 , "status" : "$_id"}}, 
{ "$sort" : { "status" : -1 , "total" : -1}}
])
我在“startDate”字段上有一个索引。通过匹配操作(externalId.value,type)将组合索引与任何或所有其他字段一起添加根本没有帮助

您知道如何加快查询速度吗


我还可以更改此集合的结构,使其看起来不同。

您要查询多少数据?通过在查询中运行
解释
,您可以了解索引的使用情况,生成的查询计划显示了详细信息。我在这里查询了近50万个文档。您是否考虑过使用在
$match
阶段具有其他字段的复合索引?请参阅以获取一些想法。