代码之家  ›  专栏  ›  技术社区  ›  rynop

如何按属性对DynamoDB行排序

  •  0
  • rynop  · 技术社区  · 6 年前

    我有下表:

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

    Purchases . 然后我想查询该表以获取购买最多的项目( ItemUUID s按分类描述 购买

    我想我可以 项目UUID 一个主键,并在其上创建全局辅助索引 Type 购买 Type = book ,将排序键留空,然后按降序排序。

    1 回复  |  直到 6 年前
        1
  •  0
  •   rynop    6 年前

    我的想法很管用,但我觉得有点像黑客。

    表定义

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

    全球二级指数

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

    因为GSI不必有唯一的分区+排序键,所以我可以找到一种方法在哪里进行查询 type=book

    推荐文章