【问题标题】:get data by non primary key with java Dynamodb使用 java Dynamodb 通过非主键获取数据
【发布时间】:2018-12-31 18:06:05
【问题描述】:

我刚开始在 AWS 中使用 DyanamoDB。我正在使用 java 来实现 lambda 函数。我想要从相当于下面 SQL 的表中获取数据的方法。

SELECT * 
FROM UserTable U WHERE 
U.email='sample@email.com' AND U.name LIKE 'Ste%';

电子邮件和姓名中的任何一个都不是主键。

但我仍然找不到直接的方法。 我发现我们必须知道主键值才能查询数据。 AWS documentations 也无济于事。有人可以帮我举个例子吗。

【问题讨论】:

    标签: java amazon-web-services amazon-dynamodb aws-sdk aws-java-sdk


    【解决方案1】:

    您只能在 DynamoDB 中查询主键或索引。

    您要么必须在其他字段上add indexes,要么执行低效的scan operation 以按其他字段查找 DynamoDB 文档。

    【讨论】:

      【解决方案2】:

      查询 dynamo db 最有效的方法是使用主键,如果确实需要使用非主键进行查询,请考虑使用 dynamo DB 索引,您可以在现有表上创建索引,这将使您的扫描操作更加高效,

      索引还允许您使用辅助键查询 dynamoDB

      要了解有关索引的更多信息,请访问此链接

      Indexes in dynamoDB

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-23
        • 1970-01-01
        • 2018-05-14
        • 2020-04-17
        相关资源
        最近更新 更多