我们正在尝试加快我们的mongoDB聚合之一。我们所有的收藏都是历史收藏(我们不会更新,只会根据ID获取最新条目)
但是,它的速度降低了大约2500个条目(50秒)。
如何进一步改进?
所有集合已经具有正在查询聚合中使用的索引。
这是我们汇总的摘要。
db.table.aggregate([{
$match: {
$and: [ attributes based on unique ids ]
}
},
{
$group: {
30 fields
}
}
{
$match: {
$and: [ attributes based on 30 fields ]
}
},
{
$lookup: {
x6 (all with pipelines)
}
},
{
$project: {
30 fields,
arrayElemAt 0 lookups
}
}
{
$match: {
$and: [ attributes based on lookups ]
}
}])
是否可以在5到10秒左右的时间内做出响应?