sql >> Base de Datos >  >> NoSQL >> MongoDB

Robomongo:Límite de memoria excedido para $group

{ allowDiskUse: true } 

Debe colocarse justo después de la canalización de agregación.

En tu código, esto debería ser así:

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 } )

Nota:Usar { allowDiskUse: true } puede presentar problemas relacionados con el rendimiento, ya que la tubería de agregación accederá a los datos de los archivos temporales en el disco. También depende del rendimiento del disco y del tamaño de su conjunto de trabajo. Pruebe el rendimiento para su caso de uso