#java #amazon-dynamodb
#java #amazon-dynamodb
Вопрос:
У меня есть база данных dynamo с GSI в GSI_ID и ключом диапазона в атрибуте lastUpdatedId. Я хочу, чтобы отображалась только 1 задача, которая является последней на основе соответствия. Это выражение, которое я использую
DynamoDBQueryExpression<Record> exp =
new DynamoDBQueryExpression<GoldDataRecord>()
.withIndexName(GSI_ID)
.withKeyConditionExpression(KEY_EXP)
.withExpressionAttributeValues(attrValues)
.withLimit(1)
// to get the results in descending order of last updated date giving the latest data first
.withScanIndexForward(false)
.withSelect(Select.ALL_ATTRIBUTES)
.withConsistentRead(false);
private DynamoDBMapper dynamoDBMapper;
PaginatedQueryList<Record> res = dynamoDBMapper.query(Record.class, exp);
Но он извлекает все записи, соответствующие GSI. Что я здесь делаю не так?
Комментарии:
1. Пожалуйста, поделитесь фрагментом кода после применения
exp
к строке, в которой говорится, что извлекается более 1 записи2. DynamoDBMapper. запрос (Record.class , выражение);
3. Как указано в комментарии выше, вам нужно будет знать, как вы работаете над
res
объектом. — «строка, в которой говорится, что извлекается более 1 записи». Только тогда мы сможем направлять.