Я работаю с knex в node.js проекте на PostgreSQL дБ. Будет использовать knex.schema.raw (raw SQL) для выполнения sh this.
Мне нужно обновить все экземпляры имени сорта ("1st", et c) в " grades "массив объекта json в столбце jsonb. «классы» - это одно значение во всем объекте json, что является уроком.
Массив в настоящее время содержит что-то вроде "grades": ["Pre-K", "K", "4th", "5th", "6th", "7th", "8th"]
, и он должен стать "grades": ["PK", "K", "4", "5", "6", "7", "8"]
.
В основном Мне нужны все экземпляры
["Pre-K", "K", "1st", 2nd", "3rd", "4th", "5th", "6th", "7th", "8th", "9th", "10th", "11th", "12th"]
, чтобы быть
["PK", "K", "1", 2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"]
Есть ли способ проверить содержимое массива jsonb, получить индекс оценки и обновить этот индекс до желаемой оценки? Или другой способ преобразовать данные массива в столбец типа jsonb?
(Моя первоначальная идея состояла в том, чтобы создать список каждой перестановки комбинации ["Pre-K", "K", "1st", 2nd", "3rd", "4th", "5th", "6th", "7th", "8th", "9th", "10th", "11th", "12th"]
и просто поменять нужный массив из данные, которые существуют, но кажутся немного неуклюжими, хотя и технически возможными. При этом мне все равно нужно найти индекс элемента в массиве в ячейке jsonb.)