Вставка массива json в hasura

#javascript #postgresql #graphql #hasura

Вопрос:

Я пытаюсь вставить массив объектов в свою таблицу hasura. Я определил свои столбцы, как показано на рисунке ниже

Столбцы таблицы

Но я получаю malformed array literal: "[]" ошибку. Я использую JSON.stringify из кода на стороне клиента, чтобы упорядочить свой массив перед вызовом мутации. Что я делаю не так?

Комментарии:

1. Я не уверен в этом, но разве вам не нужно использовать JSON.parse свои данные перед их использованием ?

2. Hasura(GraphQL) ожидает, что переменные будут строковыми "message": "A string is expected for type: _json"

Ответ №1:

Я бы настоятельно рекомендовал вам просто создать столбец a jsonb , а затем сохранить массив напрямую. возможности запросов jsonb значительно улучшены по сравнению с json, и Hasura не имеет наибольшей поддержки столбцов массива (любого типа).

При отправке данных в столбец массива с помощью Hasura он ожидает получить их в виде строки, используя синтаксис литерала массива PG, например '{1, 2, 3}' , для столбца int [].