Это может произойти из-за ошибки, такой как SERVER-13611 (поэтому убедитесь, что вы используете последнюю версию), или из-за того, что вы пытаетесь отсортировать по разреженному индексу в 2.6 , но чаще это происходит потому, что вы просто пытаетесь сортировать слишком много записей в памяти без индекса.
Конкретное ограничение, которое вы устанавливаете, является преднамеренным и задокументировано здесь - его нельзя изменить, поэтому вам нужно уменьшить набор результатов или использовать индекс и т. Д. Для выполнения сортировки.
Обновление (ноябрь 2014 г.) . Предстоящий выпуск 2.8 (версия 2.8.0-rc0 на момент написания этой статьи) теперь позволяет настраивать этот параметр следующим образом:
db.adminCommand({setParameter: 1, internalQueryExecMaxBlockingSortBytes: <limit in bytes>})
Значение по умолчанию составляет 32 МБ (33554432 байта), и его следует корректировать с осторожностью - большие сортировки в памяти могут привести к остановке вашей базы данных (именно поэтому изначально был предел).