Как получить отсортированный результат от DynamoDB во время выполнения - PullRequest
0 голосов
/ 31 января 2020

У меня есть таблица DynamoDB с большим количеством полей. Есть ли способ сделать запрос и получить результаты, отсортированные по определенному полю, которое выбрано пользователем во время выполнения, используя AWS SDK для java?

Я знаю, что .withScanIndexForward ( ) позволяет определить, находится ли он в порядке возрастания или убывания, но я хотел бы указать, по какому столбцу сортировать каждый раз при запросе запроса.

1 Ответ

1 голос
/ 31 января 2020

Нет, DynamoDB не поддерживает функцию общего назначения "ORDER BY columnname".

Таблицы DynamoDB являются ключом / значением, где значения ключей должны быть уникальными. Ключ может быть отдельным ключом раздела или составным из ключа раздела и ключа сортировки. Вы также можете создавать вторичные индексы.

Если вы хотите, чтобы DynamoDB поддерживал запросы, отсортированные по определенному атрибуту (столбцу), вам необходимо создать Глобальный вторичный индекс (GSI), который его поддерживает. Затем вы можете запросить GSI.

Без поддержки GSI вам придется отсортировать результаты запроса на стороне клиента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...