【发布时间】:2016-02-28 00:47:38
【问题描述】:
我正在使用 amazon dynamodb、lambda 和 api 网关服务。我在 dynamodb 调用 photo-group 中有一个表,它的主键是 pid 和其他数据,如 ownerid、photosrc、photosize 等。
我知道如何使用扫描来获取数据,例如:
var data = JSON.stringify({
"operation":'list',
"TableName":"photo-group",
"FilterExpression": "ownerid = :val)",
"ExpressionAttributeValues": {":val": user}
});
但现在我尝试通过添加“Limit:30”将结果限制为仅获得 30 个项目。我发现扫描将为我扫描前 30 行,而不是向我返回 30 个项目。我可以知道如何按 ownerid 过滤 30 个项目吗?
非常感谢!
【问题讨论】:
-
DynamoDB 不能以这种方式工作。如果要查询特定字段,则需要有索引,并且需要对其执行查询。扫描实际上是逐行进行。
-
谢谢kixorz~我为我的表添加了索引,现在可以查询了。但重要的一点是,它需要额外的索引成本......哎呀
标签: amazon-web-services aws-lambda amazon-dynamodb aws-api-gateway