В mongoDB можно получить все документы, отсортированные asc / desc по определенному полю следующим образом:
db.collection_name.find().sort({field: sort_order})
запрос() требует, чтобы один указывал ключ раздела, и если кто-то хочет запросить неключевой атрибут, можно создать GSI, и запросы могут выполняться на нем, как описано здесь: Запрос по неключевому атрибуту
сканирование () выполнит эту работу, но не предоставляет возможности сортировки по любому полю.
Одно из решений, описанных здесь: Сканирование Dynamodb в отсортированном порядке состоит в том, чтобы иметь общий ключ для всех документов и создать GSI для атрибута.
Но, как указано в комментариях к одному из решений, я цитирую "Характеристики производительности таблицы DynamoDB применимы к GSI. GSI с единственным хеш-ключом «OK» всегда будет использовать только один раздел. Это теряет все характеристики масштабирования DynamoDB.".
Есть ли способ достичь вышеупомянутого хорошо масштабируется?
Но scan () не вернет все документы, если данные огромны. Его ограничение составляет не более 1 МБ.
Если вы использовали API напрямую, вам нужно было бы использовать LastEvaluatedKey для просмотра результатов. Однако SDK делают все это за вас за кулисами. Таким образом, вы действительно получаете все результаты за одну операцию сканирования. По крайней мере, механизмы разбиения по страницам абстрагируются SDK.
Хорошо. Полагаю, это единственный способ сделать это. Не могли бы вы ответить на вопрос, чтобы я мог закрыть его принятым ответом

DynamoDB применяет только сортировку по ключу диапазона в разделе. Нет функции для сортировки результатов по произвольному полю, вы должны сортировать свои собственные результаты в коде приложения. т.е. выполнить сканирование и отсортировать результаты на стороне клиента.
Единственная сортировка, применяемая DynamoDB, - это по ключу диапазона. Функция сортировки по произвольному полю отсутствует, ожидается, что вы будете сортировать собственные результаты в коде приложения. т.е. выполнить сканирование и отсортировать результаты на стороне клиента.