如果能够在查询/扫描后订购商品,我可以通过阅读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"所订购的所有商品。有没有办法使用dynamoDB params来实现这个目标?
params = {
TableName: "Projects",
ProjectionExpression: "projectName",
KeyConditionExpression: "projectOwner = :userId",
ExpressionAttributeValues: {
":userId":userId
}
};
答案 0 :(得分:3)
DynamoDB中没有Order By
。如果属性未定义为排序键,则必须在客户端对结果集进行排序。
但是,如果将updateDate
定义为排序键,则API具有按升序或降序对数据进行排序的功能。
如果ScanIndexForward为true,DynamoDB将按顺序返回结果 存储它们(按排序键值)。这是默认值 行为。如果ScanIndexForward为false,则DynamoDB将读取结果 按排序键值反向排序,然后将结果返回给 客户端。
指定索引遍历的顺序:如果为true(默认值),则为 遍历按升序执行;如果错误,则遍历为 按降序执行。