我认为这是 DynamoDB 的一个非常直接的用例,但我想不出一个好的解决方案。
假设我有一张像:
有时我需要通过 OrderId 进行查询,这样我才能获得为此订单支付的所有款项。
有时我需要知道 PaymentId 与哪个订单相关。
在我看来,将 OrderId 作为 PartitionKey 是有意义的。问题是当我根据 PaymentId 查询时我不会知道。
有没有比在另一个表上存储 PaymentId -> OrderId 的映射更好的解决方案?
谢谢!
使用二级索引。
某些应用程序可能需要执行多种查询,使用各种不同的属性作为查询条件。为了支持这些需求,您可以创建一个或多个全局二级索引并针对这些索引发出查询请求。为了说明这一点,请考虑一个名为 GameScores 的表,它跟踪用户和移动游戏应用程序的分数。GameScores 中的每个项目都由分区键 (UserId) 和排序键 (GameTitle) 标识。下图显示了表格中的项目将如何组织。(未显示所有属性)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句