我正在尝试查询并获取具有最高版本的记录。 我很困惑,尝试了不同的方法从数据库中获取最高版本,而不必查询所有的项目,然后手动找出最大值。 有什么办法吗? 我不知道最高版本,所以我不能真正过滤它。
const params = {
TableName: 'mytable',
KeyConditionExpression:
'a= :hkey and begins_with(b, :roleName)',
FilterExpression: 'Version > ?',
ScanIndexForward: false, // true = ascending, false = descending
Limit: 1,
ExpressionAttributeValues: {
':hkey': 'a',
':roleName': 'abc',
':version': ?,
},
};
谢谢
您可以使用全局辅助索引,其分区键是固定的,排序键是版本。 然后使用scanindexforward=false
和limit=1
对GSI发出查询,以获取最后一个项目,即具有最高版本号的项目。