Amazon dynamodb 使用DynamoDB映射器进行多键查询

Amazon dynamodb 使用DynamoDB映射器进行多键查询,amazon-dynamodb,Amazon Dynamodb,我在谷歌上搜索了一段时间,但没有得到具体的答案 假设我有一个存储人员信息的表,它使用PeopleId作为散列键。如果某人的Id是1或2,是否有方法构造一个查询来返回此人 看起来我可以使用BatchGetItem来做这些事情,但它会有更高的延迟吗?在DynamoDB中,主键的分区键部分不能有任何条件。您可以按排序键 因此,您要么需要执行两次GetItem,要么使用BatchGetItem。谢谢!我刚刚发现有一个方法表达式。withFilterExpression(“id=x或id=y”),但不确定

我在谷歌上搜索了一段时间,但没有得到具体的答案

假设我有一个存储人员信息的表,它使用PeopleId作为散列键。如果某人的Id是1或2,是否有方法构造一个查询来返回此人


看起来我可以使用BatchGetItem来做这些事情,但它会有更高的延迟吗?

在DynamoDB中,主键的分区键部分不能有任何条件。您可以按排序键


因此,您要么需要执行两次GetItem,要么使用BatchGetItem。

谢谢!我刚刚发现有一个方法表达式。withFilterExpression(“id=x或id=y”),但不确定这是否可以减少延迟。筛选器表达式不能应用于分区键,只能应用于排序键。对于DynamoDB查询,您必须具有精确的分区键,并且不能对其设置任何条件。嗨,Nick,我发现filterExpression对每个属性都有效,但它发生在从DynamoDB获取结果之后,以及将结果返回给客户端之前。您提到的条件对排序键和哈希键都有效,并有助于减少延迟。谢谢