на самом деле это должно быть отсортировано в порядке A-Za-z, который связан с тем, как MongoDB работает с индексами.Вы можете взглянуть на тикет: https://jira.mongodb.org/browse/SERVER-90, который касается проблемы индексации.(см .: https://jira.mongodb.org/browse/SERVER-105 для конкретного билета, который просто ссылается на 90).
В примере кода Eliot предлагает сделать что-то вроде: {name: {real: "Eliot", sort: "eliot"}}, что в основном означает, что у вас есть второе поле, которое вы используете только для сортировки,которая содержит строку, которую вы хотите отсортировать по всем строчным буквам.
К сожалению, пока этот билет не исправлен, все решения - это просто обходные пути, но решение Eliots позволяет сортировать и извлекать только часть набора, а не извлекатьвесь набор и сортировка по php