首页 文章

DynamoDB等效于find() . sort()

提问于
浏览
0

在mongoDB中,可以获取在特定字段上排序为asc / desc的所有文档,如下所示:

db.collection_name.find().sort({field: sort_order})

query()需要一个指定分区键,如果想要查询非键属性,可以创建一个GSI,并在其上运行查询,如下所述:Query on non-key attribute

scan()可以完成这项工作,但不提供对任何字段进行排序的选项 .

这里描述的解决方案之一:Dynamodb scan in sorted order是为所有文档创建一个公共密钥,并在属性上创建一个GSI .

但正如其中一个解决方案的评论中所列,我引用“ The performance characteristics of a DynamoDB table apply the same to GSIs. A GSI with a single hash key of "OK" will only ever use one partition. This loses all scaling characteristics of DynamoDB ” .

有没有办法实现上述那个 scales well

1 回答

  • 1

    DynamoDB应用的唯一排序是分区内的范围键 . 没有按任意字段对结果进行排序的功能,您需要在应用程序代码中对自己的结果进行排序 . 即,在客户端进行扫描并对结果进行排序 .

相关问题