Я хочу хранить данные, используя jsonb, который может быть либо массивом, либо картой.Исходные данные поступают либо в виде массива, либо в виде карты, и мы хотим объединить их на сервере, чтобы клиентская часть могла работать с одним типом.Есть ли способ / обходной путь, который я могу использовать, хранить и извлекать как json / map, так и типы массивов, которые действительны для типа jsonb postgres?
Я пытался использовать source:
для копирования в тип массива *Поле 1004 * до вызова конвейера приведения, если я получаю массив в params
:
condition: Map.has_key?(params, "value") && is_list(value)
Я успешно могу сохранить данные, но при получении из БД я получаю ошибку приведения
field(:value, :map)
field(:value_array, {:array, :integer}, source: :value)
Примечание: Ecto версия> 3 и postgres 10