У меня следующая структура документа DynamoDb
{
"studentName"(PK): "Ben",
"studendId": 123,
"UpdatedTimestamp"(SortKey): 1221432432
"Subjects": [
{
SubjectName: "Math"
SubjectMarks: 80
UpdatedTimeStamp: 234324324
},
{
SubjectName: "History"
SubjectMarks: 30
UpdatedTimeStamp: 213234234
}
]
}
В настоящее время я использую Dynamodb Mapper для сохранения документов.
У меня есть следующие вопросы
Каждый раз, когда я обновляю таблицу, создается новая запись в таблице DynamoDb? Это ожидается? При запросе я должен установить Limit на 1 каждый раз, чтобы получить самую последнюю запись. Это потому, что у меня есть SortKey, чтобы быть текущей отметкой времени? Поможет ли мне удалить sortKey?
Я хотел бы выполнить следующий запрос: Получить все StudentNames, которые имеют SubjectMarks> 60 Это должно вернуть студента Бена, но только с темой Subject математика Это возможно? Нужно ли использовать запрос или сканирование? Поможет ли это использовать GSI? Как я могу использовать оператор точки в этом случае, поскольку Subjects является списком?