gpt4 book ai didi

postgresql - 带有参数的 graphQL 突变给出错误 : validation failed variables are not allowed in scalars

转载 作者:行者123 更新时间:2023-11-29 13:41:10 24 4
gpt4 key购买 nike

我使用 Hasura 和 PostGres 数据库。这是 GraphQL 的变化

mutation submitBeacon($thing_uid: Int, $x: Int, $y: Int, $z: Int){
insert_conf_thing(objects:
[{thing_uid: $thing_uid, my_coordinates: {type: "Point", coordinates: [$x, $y, $z]}}]) {
returning {
thing_uid
my_coordinates
} } }

查询变量

{
"thing_uid": 1744,
"x": 2,
"y": 3,
"z": 4
}

这是查询响应

{
"errors": [
{
"extensions": {
"path": "$.selectionSet.insert_conf_thing.args.objects[0].my_coordinates",
"code": "validation-failed"
},
"message": "variables are not allowed in scalars"
}
]
}

Postgres 数据库类型:thing_uid 是一个 BigIntmy_coordinatesGeometric type

如果我在查询中用 1、2 和 3 替换变量 $x、$y 和 $z,一切正常。

为什么在我使用参数时查询返回错误?

最佳答案

Hasura Discord 的回答:

my_coordinates列的类型是geometry,是标量类型,所以我们可以这样写查询

mutation submitBeacon($id: bigint, $geometry: geometry) {
insert_conf_test(objects: {aBigInt: $id, aGeometry: $geometry}){
returning{
aBigInt
aGeometry
}
}
}

使用查询变量

{
"id": 4,
"geometry": {"type": "Point", "coordinates": [1, 2, 3]}
}

关于postgresql - 带有参数的 graphQL 突变给出错误 : validation failed variables are not allowed in scalars,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55259184/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com