在DynamoDB中使用params“sorting”

如果在查询/扫描之后有订购商品的方法,我不能理解Amazon DynamoDB指南。

例如:

– 我的数据库表 –

TableName:"Projects", Item:{ "projectOwner": "User1", "projectName": "Project1", "creationDate": "Wed Nov 20 2016", "updateDate": "Wed Nov 29 2016", }Item:{ "projectOwner": "User1", "projectName": "Project2", "creationDate": "Wed Nov 20 2016", "updateDate": "Wed Nov 28 2016", }Item:{ "projectOwner": "User1", "projectName": "Project3", "creationDate": "Wed Nov 20 2016", "updateDate": "Wed Nov 30 2016", } 

所以我想扫描我的数据库,并返回所有由“updateDate”sorting的项目。 有没有办法实现这个使用dynamoDB params?

  params = { TableName: "Projects", ProjectionExpression: "projectName", KeyConditionExpression: "projectOwner = :userId", ExpressionAttributeValues: { ":userId":userId } }; 

DynamoDB中没有Order By 。 如果属性未定义为sorting键,则必须对客户端的结果集进行sorting。

但是,如果将updateDate定义为Sort键,则API具有按升序或降序对数据进行sorting的function。

如果ScanIndexForward为true,那么DynamoDB将按结果的顺序(按sorting键值)返回结果。 这是默认行为。 如果ScanIndexForward为false,则DynamoDB会按sorting键值的相反顺序读取结果,然后将结果返回给客户端。

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