不能在带有列表标量类型的graphql游乐场中使用set。
我创建了Prisma datamodel.graphql并进行了部署。我的运动类型中的一个字段是运动列表。我使用列表标量类型定义了此字段,并在我的mutation.js文件中编写了伴随的突变。当我尝试在graphql操场上添加新练习时,出现此错误。
{
"data": null,
"errors": [
{
"message": "Variable \"$_v0_data\" got invalid value {\"name\":\"split squat 3\",\"movement\":[\"push\",\"pull\"],\"liked\":false}; Field \"0\" is not defined by type ExerciseCreatemovementInput at value.movement.\nVariable \"$_v0_data\" got invalid value {\"name\":\"split squat 3\",\"movement\":[\"push\",\"pull\"],\"liked\":false}; Field \"1\" is not defined by type ExerciseCreatemovementInput at value.movement.",
"locations": [
{
"line": 2,
"column": 3
}
],
"path": [
"createExercise"
]
}
]
}
这是我在graphql游乐场写的突变。
mutation {
createExercise(
name: "split squat 3"
movement: ["push", "pull"]
liked: false
) {
id
name
}
}
这是datamodel.graphql文件。
type User {
id: ID! @unique
name: String!
}
# model for exercises
type Exercise {
id: ID! @unique
name: String!
movement: [String!]!
liked: Boolean
video: String
}
当我编写的突变没有任何字符串,只是一个空数组,
mutation {
createExercise(
name: "split squat 3"
movement: []
liked: false
) {
id
name
}
}
一切正常,并且将练习添加为新节点。
当我尝试用这样的set编写变异时,
mutation {
createExercise(
name: "split squat 3"
movement: {set: ["push","pull"]}
liked: false
) {
id
name
}
}
我也遇到错误。
我可以登录pyramida.io并通过手动创建一个新节点将字符串添加到数组中。
我不确定为什么不能在突变中添加字符串列表。 =
答案 0 :(得分:1)
您必须像在pyramida模式中一样创建一个单独的输入。
input ExcerciseCreatemovementInput{
set: [String!]
}
答案 1 :(得分:0)
movement: {set: ["push","pull"]}
正在为我工作。