Имеется таблица DynamoDB с ключом секционирования id
и ключом сортировки date_epoch
.
У меня будут такие вещи:
id | date_epoch
-----------------
1 | 1535961978
2 | 1535961996
1 | 1535962033
2 | 1535962055
3 | 1535962064
5 | 1535962073
1 | 1535962080
2 | 1535962085
Для каждого данного уникального id
я хочу только его самый последний элемент. Так что из этого примера данных я хочу только следующие результаты:
id | date_epoch
-----------------
3 | 1535962064
5 | 1535962073
1 | 1535962080
2 | 1535962085
Я могу понять, как это сделать с очень уродливым кодом. Я получил каждый уникальный id
, затем прошел итерацию по каждому индивидуальному id
и получил только самые последние элементы .withScanIndexForward(false)
и .withMaxResultSize(1)
(как показано в в этом примере и в этом примере ), но, похоже, должен быть лучший способ сделать это.
Можем ли мы установить фильтр сканирования, чтобы ограничить максимальное количество элементов или что-то еще, о чем я не думал?