我刚刚开始在AWS中使用DyanamoDB。我正在使用Java实现lambda函数。我想要从等效于以下SQL的表中获取数据的方法。
SELECT *
FROM UserTable U WHERE
U.email='sample@email.com' AND U.name LIKE 'Ste%';
其中电子邮件和姓名中的任何一个都不是主键。
但是我仍然找不到直接的方法。 我发现我们必须知道主键值才能查询数据。 AWS documentations也无济于事。有人可以帮我举个例子吗?
答案 0 :(得分:1)
您只能在DynamoDB中查询主键或索引。
您要么不得不在其他字段上add indexes,要么执行效率低下的scan operation才能通过其他字段查找DynamoDB文档。
答案 1 :(得分:0)
查询dynamo db的最有效方法是使用主键,如果确实需要使用非主键查询,则考虑使用dynamo DB索引,您可以在现有表上创建索引,这将使您的扫描操作更高效,
索引还允许您使用辅助键查询dynamoDB
要了解有关索引的更多信息,请访问此链接