具有未知PartitionKey

时间:2017-06-30 07:03:41

标签: amazon-dynamodb

我认为这对DynamoDB来说是一个非常简单的用例,但我无法想出一个好的解决方案。

我们说我有一张表:

  • 的OrderId
  • PaymentId
  • AmmountPaid

有时我需要通过OrderId查询,以便我可以获得为此订单支付的所有款项 有时我需要知道paymentId与哪个订单相关。

在我看来,将OrderId作为PartitionKey是有意义的。问题是,当我根据PaymentId查询时,我不知道。

有没有比存储PaymentId地图更好的解决方案 - >另一张桌子上的OrderId?

谢谢!

1 个答案:

答案 0 :(得分:1)

使用Secondary Indexes

  

某些应用程序可能需要使用各种不同的属性作为查询条件来执行多种查询。要支持这些要求,您可以创建一个或多个全局二级索引,并针对这些索引发出查询请求。为了说明,请考虑一个名为GameScores的表,该表可跟踪移动游戏应用程序的用户和分数。 GameScores中的每个项目都由分区键(UserId)和排序键(GameTitle)标识。下图显示了如何组织表中的项目。 (并未显示所有属性)

相关问题