MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Robomongo :Przekroczono limit pamięci dla grupy $

{ 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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Sterownik MongoDB C#, zapytanie za pomocą elementu tablicy przy użyciu wyrażenia regularnego

  2. Jak skonfigurować wielkość próbkowania sesji iskrowej w Java Spark

  3. Minimalne pozwolenie na używanie mongodump (do zrzucenia określonej bazy danych)

  4. Jak przekonwertować ciąg na datę za pomocą agregacji mongo?

  5. MongoDB Multikey Compound Index — Potrzebujesz pomocy w zrozumieniu ograniczeń