Условие IN в запросе к Dynamo DB

272
12 января 2017, 04:41

Здравствуйте, как сделать вместо Id = :first OR Id = :second условие с использование IN ?

public List<Data> getByIds(List<Long> ids) {
    Table table = dynamoDB.getTable(getTableName());
    ScanSpec scanSpec = new ScanSpec()
            .withFilterExpression("Id = :first OR Id = :second")
            .withValueMap(new ValueMap()
                    .withNumber(":first", ids.get(0))
                    .withNumber(":second", ids.get(1))
            );
    ItemCollection<ScanOutcome> scanOutcome = table.scan(scanSpec);
    return convertItemToData(scanOutcome.iterator());
}
Answer 1

Как вариант можно сделать так

{
    //...
    Condition condition = new Condition()
            .withComparisonOperator(ComparisonOperator.IN.toString())
            .withAttributeValueList(buildAttributeValueList(userId));
    ScanRequest scanRequest = new ScanRequest()
            .withTableName(getTableName())
            .withScanFilter(ImmutableMap.of("userId", condition));
    ScanResult scanResult = amazonDynamoDBClient.scan(scanRequest);
READ ALSO
Как определить расширение файла?

Как определить расширение файла?

Я пытаюсь сделать свой файловый менеджер и столкнулся с такой проблемойКогда я пытаюсь выбрать файл, а не директорию, то моя программа слетает

311
Динамический массив (Java)

Динамический массив (Java)

Задача : Массив состоит из натуральных чисел

511
Почему не закрашивается фон JMenu? Java

Почему не закрашивается фон JMenu? Java

Мне необходимо закрасить фон выделенного пункта JMenuПробовал напрямую обратится к объекту и использовать setBackground()- тщетно

288