DynamoDB SDK for PHP: можно ли сканировать список элементов с ключом вложенного элемента?

У меня есть такая структура:

{
Id: "55e0173c485dd",
Revisions: [
{
CAS: "2132-123-123",
ComponentName: "bar"},
{
ComponentName: "baz"}
]
}

Можно ли выполнить проверку по «ComponentName» пункта в списке?
Я нашел единственный способ сканирования с такими параметрами:

[

'ExpressionAttributeValues' => [
':component' => [
'M' => [
'ComponentName' => ['S' => 'bar']
]
]
],
'FilterExpression' => 'contains (Revisions, :component)'
];

Но он проверяет полное соответствие элемента и не может найти элемент с полем «CAS» в моем случае.

Мне нужно что-то вроде «$ elemMatch» в MongoDB:

http://docs.mongodb.org/manual/reference/operator/query/elemMatch/

3

Решение

DynamoDB в настоящее время не поддерживает запрос / фильтрацию атрибута в карте в списке. Вы, как вы сказали, можете указать всю карту и использовать выражение «contains (path.to.list,: map)» и указать полную карту в значениях атрибутов выражения.

Тем не менее, если вы платите за считывание всех предметов с помощью сканирования, вы можете просто извлечь их и обработать их на стороне клиента, чтобы оценить ваше состояние.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector