GraphQL 错误:Int 类型的变量 junctionId!用于期望 bigint 的位置

Posted

技术标签:

【中文标题】GraphQL 错误:Int 类型的变量 junctionId!用于期望 bigint 的位置【英文标题】:GraphQL error: variable junctionId of type Int! is used in position expecting bigint 【发布时间】:2020-01-18 21:21:47 【问题描述】:

当我尝试使用 apollo 客户端查询数据库时,我向我显示了类似这样的错误“GraphQL 错误:Int 类型的变量 junctionId!用于预期 bigint 的位置”

我正在尝试使用 hasura 连接数据库,它是一个 postgres 时间序列数据库。

export const GET_TIME = gql`
query GetTime($junctionId: Int!, $type: String!)
  timeseries_vehicles_time_points(limit: 100, where: vehicle_type: _eq: $type, id: _eq: $junctionId,order_by: time: asc,distinct_on: time) 
    data_t:time
    data_y:value
  

`;


const car = useQuery(GET_TIME,  variables:  junctionId: `$props.junctionId`, type: "car"  )

【问题讨论】:

【参考方案1】:

查看the Hasura docs on supported types 以更好地了解 PostgreSQL 类型。您提供的错误是说明您的变量的问题。您需要使用bigint(或bigint!,如果它是不可为空字段,例如在您的示例中)。

query GetTime($junctionId: bigint!, $type: String!)
  timeseries_vehicles_time_points(limit: 100, where: vehicle_type: _eq: $type, id: _eq: $junctionId,order_by: time: asc,distinct_on: time) 
    data_t:time
    data_y:value
  

【讨论】:

以上是关于GraphQL 错误:Int 类型的变量 junctionId!用于期望 bigint 的位置的主要内容,如果未能解决你的问题,请参考以下文章

离开页面时,我得到:未处理的 GraphQL 订阅错误错误:GraphQL 错误:未提供所需类型 xxx 的变量 xx

GraphQL 错误:变量 'id' 已强制 NonNull 类型 'ID!' 的 Null 值

Apollo GraphQL - 用户友好的类型验证错误

在 GraphQL Mutate 函数中将 ID 作为正确的变量类型传递

[GraphQL 错误]:消息:所需类型“MongoID!”的变量“$id”没有提供

Apollo 客户端和 graphQl 查询错误:“OrganizationWhereUniqueInput”类型的变量“$where”预期值