Как создать столбец, который может хранить массив объектов, используя knex / postgres - PullRequest
0 голосов
/ 04 марта 2020

Я хочу сохранить простой массив в таблице. Массив должен содержать объекты.

Я не могу найти примеров того, как создать этот столбец онлайн ... Я вижу, может быть, jsonb?

Я не вижу опции массива в хотя документы ...

http://knexjs.org/#Schema -jsonb

Я использую knex + postgres + node.js

1 Ответ

1 голос
/ 09 марта 2020

У Knex есть 2 способа хранения jsons в реляционной базе данных.

json для хранения json в удобочитаемом для человека виде.

jsonb , двоичный путь хранения.

Для PostgreSQL, из-за несовместимости между собственным массивом и типами json, при установке массива (или значения, которое может быть массивом) в качестве значения столбца json или jsonb следует использовать JSON .stringify () для преобразования значения в строку перед передачей его в построитель запросов, например,

knex.table('users')
  .where({id: 1})
  .update({json_data: JSON.stringify(mightBeAnArray)});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...