MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Robomongo:Limite de memória excedido para $ group

{ allowDiskUse: true } 

Deve ser colocado logo após o pipeline de agregação.

No seu código isso deve ficar assim:
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 } )

Observação:usando { allowDiskUse: true } pode apresentar problemas relacionados ao desempenho, pois o pipeline de agregação acessará dados de arquivos temporários no disco. Também depende do desempenho do disco e do tamanho do seu conjunto de trabalho. Teste o desempenho para seu caso de uso