我有一个方案,其中我必须列出根据创建时间和优先级(高,中,低)以及分页排序的用户传入请求。有没有办法在dynamoDb中实现这一目标?
现在,我正在使用辅助索引(如userId-createdAt-index),该索引根据创建时间对数据进行排序,并根据前端中的优先级对请求进行进一步排序。有人请为此提供正确的解决方案。
答案 0 :(得分:0)
使用带排序键的索引是正确的。这也可能是您的主索引,从而减少了所需的索引数量,但这当然取决于您是否已经在主索引上具有排序键。
DDB保证排序索引的顺序,因此分页将为您正确按日期分页,如果您想颠倒顺序,请将ScanIndexForward
添加到查询中并将其设置为false
。
您的查询模型/在数据库级别按日期排序,然后在应用程序级别按其他字段排序是正常且正确的。
很大程度上取决于您的用例,要考虑的另一种选择是通过使用KeyConditions
并添加条件#priority EQ :priority
来按优先级查询,但是我怀疑这就是您想要的。