Node.js 如何使用dynamodb按降序获取最后插入的10条记录

Node.js 如何使用dynamodb按降序获取最后插入的10条记录,node.js,amazon-dynamodb,Node.js,Amazon Dynamodb,我是亚马逊dynamodb的新手。我想用dynamodb按降序插入最后10条记录 听起来您正在使用DynamoDB示例: 示例数据没有插入时间戳 另一个问题是,只能使用sort键在DynamoDB进行排序,否则需要在代码中执行排序 因此,如果分区键是年份,排序键是标题,则需要: 引入一个为您提供创建时间戳的属性 使用此属性的创建表,或使用新属性作为排序键创建表 现在可以使用查询了 查询API具有以下选项: 按排序键按降序排序(使用ScanIndexForward参数) 限制返回的项目数(使用L

我是亚马逊dynamodb的新手。我想用dynamodb按降序插入最后10条记录

听起来您正在使用DynamoDB示例:

示例数据没有插入时间戳

另一个问题是,只能使用sort键在DynamoDB进行排序,否则需要在代码中执行排序

因此,如果分区键是年份,排序键是标题,则需要:

  • 引入一个为您提供创建时间戳的属性
  • 使用此属性的创建表,或使用新属性作为排序键创建表
  • 现在可以使用查询了 查询API具有以下选项:

    • 按排序键按降序排序(使用ScanIndexForward参数)
    • 限制返回的项目数(使用Limit参数)

    听起来您正在使用DynamoDB示例:

    示例数据没有插入时间戳

    另一个问题是,只能使用sort键在DynamoDB进行排序,否则需要在代码中执行排序

    因此,如果分区键是年份,排序键是标题,则需要:

  • 引入一个为您提供创建时间戳的属性
  • 使用此属性的创建表,或使用新属性作为排序键创建表
  • 现在可以使用查询了 查询API具有以下选项:

    • 按排序键按降序排序(使用ScanIndexForward参数)
    • 限制返回的项目数(使用Limit参数)

    DynamoDB仅允许通过
    排序键
    属性对数据进行排序。
    ScanIndexForward
    选项可用于按升序或降序对数据进行排序

    请注意,订购将只针对特定的分区密钥。它不会对表中的所有项目进行排序,并给出最后10条记录。可以对特定的分区键执行排序操作

    向前扫描索引

    指定索引遍历的顺序:如果为true(默认值),则 以升序执行遍历;如果为false,则遍历为 按降序执行

    排序键定义和示例:-

    复合分区排序键被索引为分区键元素 和排序关键元素。此多部分键维护一个层次结构 在第一个和第二个元素值之间。例如,复合材料 分区排序键可以是“UserID”(分区)和 “时间戳”(排序)。如果保持分区键元素不变,则 可以跨排序键元素进行搜索以检索项目。这会 允许您使用查询API,例如,检索 跨一系列时间戳的单个用户标识


    DynamoDB只允许通过
    排序键
    属性对数据进行排序。
    ScanIndexForward
    选项可用于按升序或降序对数据进行排序

    请注意,订购将只针对特定的分区密钥。它不会对表中的所有项目进行排序,并给出最后10条记录。可以对特定的分区键执行排序操作

    向前扫描索引

    指定索引遍历的顺序:如果为true(默认值),则 以升序执行遍历;如果为false,则遍历为 按降序执行

    排序键定义和示例:-

    复合分区排序键被索引为分区键元素 和排序关键元素。此多部分键维护一个层次结构 在第一个和第二个元素值之间。例如,复合材料 分区排序键可以是“UserID”(分区)和 “时间戳”(排序)。如果保持分区键元素不变,则 可以跨排序键元素进行搜索以检索项目。这会 允许您使用查询API,例如,检索 跨一系列时间戳的单个用户标识


    Abhaya Chauhan的答案基本上是正确的,尽管有一点不准确。Limit参数实际上并不限制返回的项目数,而是限制扫描的项目数(不管它们是否符合搜索条件)

    因此,如果将限制设置为10,则可能会得到0到10个项目。有关更多信息,请参阅以下文档:


    阿卜哈亚·乔汉的回答基本上是正确的,尽管有一点不准确。Limit参数实际上并不限制返回的项目数,而是限制扫描的项目数(不管它们是否符合搜索条件)

    因此,如果将限制设置为10,则可能会得到0到10个项目。有关更多信息,请参阅以下文档:


    您能提供更多关于您的表格的信息吗?否则很难帮助你。无论如何,这里有一个非常简单的关于如何使用nodejs查询dynamodb的指南:让一个名为Movies的表。有年份–分区键和标题–排序键。我要按降序插入最后10条记录。那个么,若并没有分区键值和排序键值,那个么将查询什么呢?否则很难帮助你。无论如何,这里有一个非常简单的关于如何使用nodejs查询dynamodb的指南:让一个名为Movies的表。有年份–分区键和标题–排序键。我要按降序插入最后10条记录。那个么,若并没有分区键值和排序键值,将查询什么呢?我不想使用GSI。若我使用timestamp属性作为排序键,那个么是否可以按降序获取记录?是的,这是可能的。使用查询API,查看ScanIndexForward参数