我正在对DynamoDB表执行扫描,然后需要将返回的项目的相应属性添加到类型为User
的列表中(User
具有一个名为User(String uuid)
的构造函数)。当前代码成功扫描了DB并返回了扫描结果的List
。但是我的迭代似乎由于某种原因返回null。
AmazonDynamoDBClient client = dynamoClient.getDynamoClient();
DynamoDBMapper mapper = new DynamoDBMapper(client);
try {
DynamoDBScanExpression scanExpression = new DynamoDBScanExpression();
Map<String, Condition> scanFilter = new HashMap<String, Condition>();
Condition scanCondition =
new Condition().withComparisonOperator(ComparisonOperator.NOT_NULL);
scanFilter.put("uuid", scanCondition);
scanExpression.setScanFilter(scanFilter);
List scanResults = mapper.scan(UserAccounts.class, scanExpression);
for (Iterator it = scanResults.iterator(); it.hasNext();) {
//User user = (User) it.next();
allUserSummary.add(new User(scanResults.get(1).toString()));
}
} catch (Exception e) {
// TODO
}
allUserSummary.add(new User(scanResults.get(1).toString()));
如果我在迭代器中加入一个打印语句,我会得到正确数量的用户返回,但显然这些用户是空的! - tarka