我正在开发一个允许用户阅读书籍的应用程序。我正在使用 DynamoDB 来存储用户阅读书籍的详细信息,并且我计划使用存储在 DynamoDB 中的数据来计算统计数据,例如趋势书籍、作者等。
我当前的架构如下所示:
user_id | timestamp | book_id | author_id
Run Code Online (Sandbox Code Playgroud)
user_id 是分区键,timestamp 是排序键。
我遇到的问题是,使用此模式,我只能查询单个用户(分区键)已阅读的书籍的详细信息。这是对我的要求之一。
另一个要求是查询在某个日期范围内创建的所有记录,例如:过去 7 天内创建的记录。使用此架构,我无法运行此查询。
我已经研究了很多其他选项,但还没有想出一种方法来创建一个允许我运行这两个查询的模式。
我不想运行扫描,因为它会很昂贵,我研究了使用 GSI 作为时间戳的选项,但它需要我指定一个哈希键,因此我无法查询在 2 个日期之间创建的所有记录。
我有以下数字:12.00 12.45
我希望那些转换为000000001200 000000001245
最好的方法是什么?
总数为12个字符,最后2位为小数点后2位数.