sql >> Database teknologi >  >> NoSQL >> MongoDB

Robomongo :Overskredet hukommelsesgrænse for $gruppe

{ allowDiskUse: true } 

Bør placeres lige efter aggregeringsrørledningen.

I din kode skulle dette gå sådan her:

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

Bemærk:Brug af { allowDiskUse: true } kan introducere problemer relateret til ydeevne, da aggregeringspipeline vil få adgang til data fra midlertidige filer på disken. Afhænger også af diskens ydeevne og størrelsen på dit arbejdssæt. Test ydeevnen for din brugssituation



  1. Holder arrays gemt i MongoDB deres rækkefølge?

  2. MongoDB indlejret dokumentvalidering for underdokumenter

  3. Sådan kalder du et lagret JavaScript i MongoDb fra C#

  4. MongoDB Aggregation PHP, Grupper efter timer