Esto puede suceder debido a un error como SERVER-13611 (así que asegúrese de estar en la última versión), o porque está tratando de ordenar en un índice disperso en 2.6 , pero generalmente es porque simplemente está intentando ordenar también Muchos registros en la memoria sin un índice.
El límite específico que está alcanzando es intencional y está documentado aquí : no se puede cambiar, por lo que debe reducir el conjunto de resultados o usar un índice, etc. para realizar la clasificación.
Actualización (noviembre de 2014): la próxima versión 2.8 (2.8.0-rc0 en el momento de escribir esto) ahora permite modificar esta configuración, de la siguiente manera:
db.adminCommand({setParameter: 1, internalQueryExecMaxBlockingSortBytes: <limit in bytes>})
El valor predeterminado es 32MiB (33554432 bytes) y debe ajustarse con cuidado: los tipos grandes en memoria pueden hacer que su base de datos se detenga (razón por la cual había un límite en primer lugar).