我有以下 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 会有帮助吗?
我想执行以下查询:获取所有具有 SubjectMarks > 60 的 StudentNames 这应该返回学生 Ben,但只有 Subject Math。这可能吗?我需要使用查询还是扫描?使用 GSI 会有帮助吗?在这种情况下,我如何使用点运算符,因为主题是一个列表?