DynamoDB按日期获取最新行

3
我有一张表格,每天都有一篇文章,它看起来是这样的。

enter image description here

我将date设置为主键,将post_id设置为排序键。我想进行一个查询,按date获取最新的一行数据。是否可以使用Query来实现?还是必须使用Scan并过滤出结果?

我所知道的唯一方法是在获取结果后进行扫描和过滤。但是我并没有经常使用DynamoDB查询,主要是使用get和scan操作。 - undefined
https://dev59.com/xGUq5IYBdhLWcg3wC8Hx - undefined
1个回答

3
首先,DynamoDB不像RDBMS聚合函数一样有minmax等聚合函数。但是,它确实有一个功能可以从表格中获取最新日期。为了使用该选项,属性应被定义为SORT键。此外,最新日期只能针对特定分区键找到,即它不适用于整个表,只适用于所选的分区键。 ScanIndexForward可用于获取特定分区键的最新项。

ScanIndexForward - (Boolean) 指定索引遍历的顺序: 如果为true(默认值),则遍历按升序执行;如果为 false,则遍历按降序执行。

为了使用上述选项,表格设计必须更改。

post_id - 分区键

date - 排序键


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接