У меня есть PHP API, запрашивающий DynamoDb. Я пытаюсь отфильтровать результаты по списку строк
$eav = $marshaler->marshalJson($json);
$params = [
'TableName' => $tableName,
'IndexName' => 'tsType-tsTimeclockSortKey-index',
'FilterExpression' => 'firstName IN :firstName',
'KeyConditionExpression' => 'type = :type,
'ExpressionAttributeValues' => $eav
];
Я могу фильтровать по одному имени, но я хочу отправить список имен и вернуть все подходящие. Если я отправлю
{firstName: 'john'}
возвращает: [firstName: ‘John’, lastName: ‘doe’]
Все Джонсы возвращены. Когда я добавляю другое имя, все отфильтровывается, и API возвращает пустой массив.
{firstName: 'john, sam'}
возвращает: []
Что мне нужно изменить, чтобы вернуть все johns и / или Sams, если они существуют с использованием FilterExpression
Задача ещё не решена.
Других решений пока нет …