Użyj zapytania agregującego w poleceniu uruchamiania, pozwoli to na użycie tagu allowDiskUse.
db.runCommand(
{ aggregate: "test",
pipeline: [
{$group: {_id: {email: "$email", gender: "$gender"}, cnt: {$sum: 1}}},
{$group: {_id: "$_id.email", cnt: {$sum: 1}}},
{$match: {cnt: 2}}
],
allowDiskUse: true
}
)