0

我有下表:

ItemUUID (string) | Purchases (number) | Type (string)
--------------------------------------
book-a | 5 | book
book-b | 1 | book
book-c | 10 | book

每次有人购买商品时,我都想增加Purchases. 然后我想查询表以获取购买最多的商品(ItemUUID按 DESC 排序Purchases

我想我可以创建一个主键,并使用排序键ItemUUID创建一个全局二级索引。然后查询 GSI where ,将排序键留空,降序排序。TypePurchasesType = book

这是行不通的。DynamoDB 是否可以使用我的用例?

4

1 回答 1

0

我想出的作品,但我觉得有点hack'ish。

表定义

Primary partition key   type (String)
Primary sort key        uuid (String)

全球二级指数

Primary partition key   type (String)
Primary sort key        purchases (Number)

因为 GSI 不必具有唯一的分区+排序键,我可以通过查询 where 获得一种方法type=book,将购买留空,对 DESC 进行排序

于 2018-11-29T16:32:21.060 回答