{ 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 }
を使用する アグリゲーションパイプラインはディスク上の一時ファイルのデータにアクセスするため、パフォーマンスに関連する問題が発生する可能性があります。また、ディスクのパフォーマンスとワーキングセットのサイズによっても異なります。ユースケースのパフォーマンスをテストする