使用“where”条件从 Amazon DynamoDB 获取项目
Posted
技术标签:
【中文标题】使用“where”条件从 Amazon DynamoDB 获取项目【英文标题】:Getting items from Amazon DynamoDB using 'where' condition 【发布时间】:2015-10-17 09:50:20 【问题描述】:如何使用 'where' 条件从 dynamoDB 获取项目?
例如,
select 'names' from Employee where dept="billing"
(我想从 Employee 表中获取部门为“计费”的所有名称)
如何在 Java 代码中为此编写查询?非常感谢用示例代码解释。谢谢。
【问题讨论】:
【参考方案1】:选择查询可能是这样的:
SELECT `names` FROM `Employee` WHERE `dept` LIKE 'billing'
一些java的东西:
try
String url = "jdbc:msql://***.***.***.***:****/Demo";
Connection conn = DriverManager.getConnection(url, "", "");
Statement stmt = conn.createStatement();
ResultSet rs;
rs = stmt.executeQuery("SELECT `names` FROM `Employee` WHERE `dept` LIKE 'billing'");
while (rs.next())
String name = rs.getString("names");
System.out.println(name);
conn.close();
catch (Exception e)
System.err.println("Got an exception! ");
System.err.println(e.getMessage());
【讨论】:
抱歉,我要查询 Amazon DynamoDB 数据库。 对不起我的错.. mybe这个链接可以帮助你更多:docs.aws.amazon.com/amazondynamodb/latest/developerguide/… 很高兴..如果我帮助了你,请接受我的回答并玩得开心;)【参考方案2】:您可以使用主键(散列键)或复合键(散列+范围键)搜索 Dynamo DB
如果您尝试搜索某个项目的任何属性,则必须对数据库进行完整的Scan
,这是非常低效的。
因此,请尝试以一种您不要最终使用Scans
的方式设计您的数据库,并鼓励根据 Dynamo 设计的索引进行搜索。
对于原始问题:您可以使用ProjectionExpression
进行搜索。
供进一步参考 - http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#QueryAndScan.Scan
【讨论】:
以上是关于使用“where”条件从 Amazon DynamoDB 获取项目的主要内容,如果未能解决你的问题,请参考以下文章
如何为 Amazon redshift 数据库编写查询,使相关查询的 where 子句具有两个条件?
MS.Access - 在 DoCmd.OpenReport [where 条件] 中使用 2 个过滤条件从表单打印报表