#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 [].