Я использую MongoDB 3.4.15.Сопоставление - это новая функция в v3.4. В коллекции есть поле «Имя», которое представляет собой строку и другие поля.Это статистика сбора.{"ns": "db.spaces", "size": 37457821, "count": 157, "avgObjSize": 238584, "storageSize": 8536064, "capped": false, "nindexes": 2, "totalIndexSize": 65536, "indexSizes": {" id ": 32768, "Name_index": 32768}, "ok": 1}
- db.spaces.find ({}, {Name: 1}). Collation ({locale: 'en_US', caseLevel: true})
- db.spaces.find ({}, {Name: 1}). Sort ({Имя: 1})
- db.spaces.find ({}, {Name: 1}). Collation ({locale: 'en_US', caseLevel: true}). Sort ({Name: 1})
Если размер коллекции меньше 33554432 (32 МБ), все три команды выполняются успешно.Третья команда не будет выполнена, если размер коллекции превышает 33554432 (32 МБ).Сообщение об ошибке:
Ошибка исполнителя во время команды поиска: OperationFailed: Операция сортировки использовала более 33554432 байт оперативной памяти.Добавьте индекс или укажите меньшее ограничение.
Поэтому я сомневаюсь, что есть ошибка, из-за которой sort () не может работать с collation (), если размер коллекции превышает 32 МБ.