У меня есть тип массива, который я хочу сохранить в Postgres.Один из основных вариантов использования, который у меня есть, - это посмотреть, есть ли в какой-либо из записей массив, в котором есть строка.
например.
| A | ["NY", "Paris", "Milan"] |
| B | ["Paris", "NY"] |
| C | [] |
| D | ["Milan"] |
Существует ли строка с Paris
в массиве?Какие строки имеют Milan
в массиве?и т. д.
У меня есть 2 варианта, как хранить столбец.Я могу либо сделать его типом text[]
, либо преобразовать его в json как {"cities": ["NY", "Paris", "Milan"]}
, а затем сохранить как JSONB
поле
Однако я не уверен, что бы разрешить самые быстрые запросы для использованиядело у меня есть.Есть ли какой-нибудь явно лучший способ сделать это?Связываю ли я себя каким-либо образом, выбирая одно из другого?Если я выберу одно из другого, то как я могу запросить БД?