Это known limitation MiniMongo, на стороне клиента Meteor (подмножество) функций MongoDB.
«Сортировка» MongoDB коллекция на самом деле не имеет согласованного значения. Он не переводится в конкретный набор операций. Что бы вы выбрали? Существует ли «естественный» способ сортировки набора документов, структура которых может отличаться?
Механизм, который используется для повышения эффективности поиска данных, является индексом . На сервере индексы используются, чтобы помочь сортировке, если это возможно:
В MongoDB операции сортировки могут получить порядок сортировки путем извлечения документов на основе заказа в индексе. Если планировщик запросов не может получить порядок сортировки из индекса, он будет сортировать результаты в памяти. Операции сортировки, которые используют индекс, часто имеют лучшую производительность, чем те, которые не используют индекс. Кроме того, операции сортировки, которые не используют индекс, будут прерваны при использовании 32 мегабайт памяти.
(Источник: MongoDB documentation)
В коллекции не имеет определенный порядок, к нему, объект, который содержит информацию о требованиях порядка в MongoDB является Cursor. Курсор можно извлекать несколько раз, и теоретически можно было бы превратить в эффективный упорядоченный сборщик данных.
К сожалению, на данный момент этого не происходит. То, как оно реализовано в настоящее время, MiniMongo не имеет индексов и не кэширует документы по заказу. Они переупорядочиваются каждый раз, когда курсор извлекается.
Сортировка достаточно эффективна (так как сортировка может быть эффективной, O(n*logn)
вызовы функции сортировки), но для большого набора данных она может быть довольно длинной и ухудшать работу пользователя.
На данный момент, если у вас есть специальный прецедент, который требует повторного доступа к большому набору данных, который упорядочен таким же образом, вы можете попытаться сохранить кэш упорядоченных документов, если вам нужно, наблюдая курсора и обновления кеша при изменении.
* «сортировать всю коллекцию» * в MongoDB не имеет смысла, который в соответствии с его документацией не гарантирует * любой порядок сортировки при поиске. – jonrsharpe