У меня относительно большая коллекция (250 КБ) достаточно больших документов (в среднем около 180 КБ каждый).
Когда я запускаю следующий запрос, Mongo выдает ошибку об исчерпании памяти. Запрос возвращает приблизительно 350 результатов (проблема возникает при просмотре таблицы 10 документов за раз, когда вы нажимаете на страницу 14, она прерывается).
db.myCollection.find(
{"teamId":"myTeam","unit":"myUnit","$or":[{"$text":{"$search":"tuesday"}}]},
{"_id":true,"name":true,"unit":true,"type":true,"teamId":true,"imageId":true,"imageKeys":true,"score":{"$meta":"textScore"}}
)
.skip(130)
.limit(10)
.sort({"score":{"$meta":"textScore"}})
.toArray()
Ошибка предупреждает Executor error during find command: OperationFailed: Sort operation used more than the maximum 33554432 bytes of RAM. Add an index, or specify a smaller limit.
- поля, возвращаемые документами, невелики. Также 140 документов (скип + лимит) не являются особенно большим количеством. Точно так же индекс уже используется (для текстового поиска). Есть ли способ обойти эту проблему?