2016-12-20 2 views
0

Есть ли способ, чтобы удовлетворить для дополнительного ExpressionAttributeValue, чтобы не сломать FilterExpression т.е.Как разрешить отсутствующий ExpressionAttributeValues ​​с FilterExpression в DynamoDB

выражение фильтра:

FilterExpression: 'country = :country and age = :age' 

Есть ли синтаксис, чтобы добавить к выражению, позволяющему: страна необязательна и игнорируется, если это так.

Эквивалент в SQL

where (country = @country OR @country is null) 

Прямо сейчас я делаю: (страна =: страна или: не страна =: нет)

и: никто не является 'ни'

+0

Вы хотите проверить наличие атрибута 'страна' или значение страны имеет значение null? – notionquest

+0

Если атрибут передается для использования в качестве критериев фильтра – Chev

+0

Нет опции. Вы должны сформировать FilterExpression условно, то есть @country не является нулевым, а затем укажите страну в выражении фильтра. В противном случае не включайте его. – notionquest

ответ

0

Вы могли бы use FilterExpression age = :age AND country IN :country, :null и ExpressionAttributeValues ​​{":age":20, ":country":"Japan", ":null":none}?

Смежные вопросы