Я сейчас начну. Я использую ScanamoAlpakka
.
У меня есть следующее:
Map(
'field1 -> value1,
'field2 -> value2,
and so on...
)
Цель состоит в том, чтобы повторить карту и удалить все пустые значения.После удаления пустых значений мне нужно преобразовать каждую пару ключ / значение в условие запроса на основе его типа.
Примерно так:
mapObject
.collect({
case (key, Some(value: DateRange)) => key between (value.after and value.before)
case (key, Some(value)) => key -> value
})
.reduce(_ and _)
Это не работает, поскольку условияописанные выше не сразу становятся объектами класса условия запроса.Я просматривал SDK и столкнулся с трудностями при поиске класса, который преобразовал бы пары ключ / значение в запрашиваемое условие.
Я пытался использовать Condition(key, value)
, который, кажется, работает, однако, когда это делается в этомформат, по-видимому, все последствия, которые применяются для DynamoFormat
, потеряны, поскольку я получаю следующую ошибку:
Error:(22, 45) could not find implicit value for evidence parameter of type com.gu.scanamo.query.ConditionExpression[(Symbol, Any)]
case (key, Some(value)) => Condition(key -> value)