2016-04-05 9 views
0

In unserer Entwicklung mit Morphium, wir die folgenden Fehler erfüllt:Könnte Morphium Unterstützung allowDiskUse?

MongoDB: Sortieren überschritten Speichergrenze von 104.857.600 Bytes

Nach der Führung: http://www.mkyong.com/mongodb/mongodb-sort-exceeded-memory-limit-of-104857600-bytes/, die Operation ‚Verwendung als Volume erlauben‘, war die Lösung.

Meine Fragen:

  1. Wenn Morphium allowDiskUse Betrieb unterstützt, wenn es möglich ist, einige Beispielcodes zu zeigen?
  2. Wenn Morphia # diese Operation nicht unterstützt, ist es möglich, 'allowDiskUse' von der Befehlszeile als Konfigurationen hinzuzufügen, und alle Aggregationen könnten die 'allowDiskUse' Bedingung verwenden.

Dank

Antwort

2

Ich hatte auch dieses Problem. Die Lösung ist einfach, diese Funktion zu aktivieren Ihre AggregatonOptions wie folgt aus:

AggregationOptions options = AggregationOptions.builder() 
      // Possibly more stuff here... 
      .allowDiskUse(true) // That's it. 
      .build(); 

aggregieren Dann ist es wie folgt aus:

aggregation.aggregate(MyClass.class, options); 
+0

du hast Recht. Morphia hat es bereits unterstützt, andere können sich den Quellcode ansehen. https://github.com/mongodb/morphia/issues/917#issuecomment-218332392 – Ivan