Why does one of these queries take minutes longer to resolve?
- One takes minutes
- One takes seconds
db.collection.aggregate([
{$match: {userId: id}},
{$sort: {date: -1}},
{$skip: skip},
{$limit: limit},
{
"$lookup": {
localField: "targetId",
foreignField: "_id",
from: 'users',
as: 'target',
}
},
{
"$project": {
'actorId': 1,
'date': 1,
'description': 1,
'points': 1,
'targetId': 1,
'userId': 1,
'_id': 1,
'target._id': 1,
'target.emails.address': 1,
}
}])
db.collection.aggregate([
{$match: {userId: id}},
{$sort: {date: -1}},
{$skip: skip},
{$limit: limit},
{
$lookup: {
from: 'users',
pipeline: [
{
$match: {
$expr: {$eq: ["$_id", "$targetId"]},
}
},
{
$project: {
_id: 1,
'emails.address': 1,
}
}
],
as: 'target',
}
}
])