Got recently log about slow query.
Part of mine explained pipeline looks like it
// previous stages with 1st match
{
'$project': [Object],
nReturned: 1436,
executionTimeMillisEstimate: 6
},
{
'$lookup': [Object],
totalDocsExamined: 1436,
totalKeysExamined: 1436,
collectionScans: 0,
indexesUsed: [Array],
nReturned: 1436,
executionTimeMillisEstimate: 112
},
// other stages with ~112 ms each
And $lookup
{
'$lookup': {
from: 'users',
as: 'user',
localField: 'userId',
foreignField: '_id'
},
totalDocsExamined: 1434,
totalKeysExamined: 1434,
collectionScans: 0,
indexesUsed: [ '_id_' ],
nReturned: 1434,
executionTimeMillisEstimate: 112
}
Users collection about 3 million documents. Is there nothing i can do? Except return less documents from $match stage (which one was first in pipeline). Is this a normal behavior? Should i expand server? If so, cpu or memory will be better choice?
Mongo version ^7