{ allowDiskUse: true }
Трябва да се постави точно след тръбопровода за агрегиране.
Във вашия код това трябва да изглежда така:
db.getCollection('RAW_COLLECTION').aggregate([
// Group on unique value storing _id values to array and count
{ "$group": {
"_id": { RegisterNumber: "$RegisterNumber", Region: "$Region" },
"ids": { "$push": "$_id" },
"count": { "$sum": 1 }
}},
// Only return things that matched more than once. i.e a duplicate
{ "$match": { "count": { "$gt": 1 } } }
], { allowDiskUse: true } )
Забележка:Използване на { allowDiskUse: true }
може да въведе проблеми, свързани с производителността, тъй като тръбопроводът за агрегиране ще има достъп до данни от временни файлове на диск. Също така зависи от производителността на диска и размера на вашия работен набор. Тествайте ефективността за вашия случай на употреба