{ allowDiskUse: true }
Powinien być umieszczony zaraz po potoku agregacji.
W twoim kodzie powinno to wyglądać tak:
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 } )
Uwaga:przy użyciu { allowDiskUse: true }
może powodować problemy związane z wydajnością, ponieważ potok agregacji będzie miał dostęp do danych z plików tymczasowych na dysku. Zależy również od wydajności dysku i rozmiaru zestawu roboczego. Przetestuj wydajność dla swojego przypadku użycia