Hasura 数组数据类型的类型错误:"A string is expected for type : _int4"



我有一个在 Hasura 控制台中创建的表。一些列是整数int类型,我得到了预期的数据类型:Maybe<Scalars['Int']>.

但是,有些需要是一个整数数组,所以我在 Hasura SQL 选项卡中创建了它们:

ALTER TABLE my_table
add my_ids integer[];

如果我使用以下查询变量在 GraphiQL 中填充它们,一切正常:

{
"my_ids": "{1200, 1201, 1202}",
}

但是,当我尝试从前端客户端发出相同的请求时,我收到以下错误:A string is expected for type : _int4。查看数据类型,它与预设(在数据类型下拉列表中(整数类型略有不同:Maybe<Scalars['_int4']>

有没有办法像预设的整数类型一样Maybe<Scalars['Int']>整数数组?或者如果没有,如何解决我的请求为此_int4类型抛出错误的问题?

Hasura 不能处理数组,但它可以处理数组文字。

我编写了一个函数来帮助您在突变之前将数组转换为数组文字:

const toArrayLiteral = (arr) => (JSON.stringify(arr).replace('[', '{').replace(']', '}'))
...
myObject.array = toArrayLiteral(myObject.array) // will make ['friend'] to {'friend'}

祝你好运

相关内容

最新更新