Я пишу лямбда-функцию в Go и использую DynamoDB в качестве базы данных.
Мне нужно написать операцию сканирования с несколькими условиями (например, field1 = value1 и field2 = value2 и field3 = value3).
Я создаю строку FilterExpression
на основе количества параметров / условий, предоставленных пользователем.
Мое выражение фильтра выглядит следующим образом:
(#field1 = :field1Val) and (#field2 = :field2Val)
Ятакже предоставляя ExpressionAttributeNames и ExpressionAttributeValues в сопоставлениях со входом операции сканирования.Однако я не получаю никаких результатов (count = 0).
Если я укажу только одно условие или если я использую оператор "или" вместо оператора "и", я получу результаты.
Похоже, что второе условие (# field2 =: field2Val), даже если я использую какое-либо поле (field3, field4 и т. Д.), Всегда приводит к "false".
Есть указатели?
Где я вижу журналы этой операции запроса / сканирования?