Я использую Javascript AWS SDK для запроса таблицы DynamoDB.
У меня есть таблица, в которой хранятся «приложения».У каждого приложения есть первичный ключ (хэш-ключ?) id
.
. Каждый элемент также хранит applicationTime
в виде строки даты и времени, например 2018-05-21T19:22:50.884Z
.
.чтобы вернуть десять последних приложений, основанных на applicationTime
.
Пока что у меня есть:
db.batchGet({
TableName: 'Applications',
Limit: 10,
ScanIndexForward: false,
}, (err, data ) => {
err ? console.log(err, err.stack) : console.log(data)
})
Документация не очень удобна для новичков и, похоже, предложить , что мне может понадобиться локальный вторичный индекс для сортировки по applicationTime
.
Однако совершенно очевидно, что создание локального вторичного индекса возможно только при первоначальном создании таблицы.Это производственная база данных, поэтому очень стараюсь не переделывать таблицу.
Это нелепо сложно по сравнению с любым другим продуктом базы данных, который я использовал (SQL и noSQL).
Конечно, яотсутствует что-то очевидное?
PS.Это для инструмента, ориентированного на администратора, который будет видеть только случайное использование, а не как ключевую функцию, ориентированную на пользователя, поэтому я соглашусь на неэффективное решение (например, сканирование), если это единственный вариант.