如何查询DynamoDB中是否存在多个项目?

时间:2017-06-27 00:22:21

标签: amazon-dynamodb

我有一个id列表,我想以有效的方式检查我的DynamoDB中存在哪些ID。

例如,我的ID列表可能是:

[1, 2, 3, 4, 5]

我的名为Cats的DynamoDB表具有以下内容:

{id: 1, name: 'cat1'}, {id: 3, name: 'cat3'}, {id: 5, name: 'cat5'}

我想通过一次调用知道我的DynamoDB中有1个,3个,5个。不确定这是否可以通过1次获取请求或者我是否需要获得5次获取。

1 个答案:

答案 0 :(得分:2)

我认为答案取决于您的数据结构。

Query请求必须包含实体的id,因此无法执行1个查询请求并获取所有三个结果。

Scan个请求可以根据您的列表获取所有条目(或它们的过滤版本),但是,根据您的表的大小,从时间角度来看,该请求可能非常昂贵。

另一种选择可能是根据您的数据可能具有的其他语义创建secondary index并对其进行查询/扫描。

查看dynamodb Best Practices页面,了解您是否可以改进表格结构以方便操作。