如何使用变量更新 graphql 中的条目
How to udpate an entry in graphql using variables
如果重要的话,我正在将 GraphQL 插件与 strapi cms 一起使用。
我不知道如何使用动态变量更新现有查询。我没有使用变量的原始突变:
mutation {
updateExam(input: {
where: {
id: "1234"
},
data: {
questions: "hello"
}
}) {
exam {
questions
}
}
}
我了解到,如果我想使用变量创建一个新条目,我应该这样写(David Maze 在这里回答:How to pass JSON object in grpahql and strapi):
const response = await strap.request('POST', '/graphql', {
data: {
query: `mutation CreateExam($input: CreateExamInput!) {
createExam(input: $input) {
exam { name, desription, time, questions }
}
}`,
variables: {
input: {
name: examInfo.newExamName,
desription: examInfo.newExamDescription,
time: Number(examInfo.newExamTime),
questions: [{ gf: "hello" }],
subjects: [this.state.modalSubjeexisting
}
}
}
});
但是如何更新现有查询?我应该把
放在哪里
where: {id: "1234"}
如何提供条目的现有 ID?
我不知道这个 strapi cms,但顺便说一句,它看起来像你已经在工作的突变,我会尝试这样的更新:
const response = await strap.request('POST', '/graphql', {
data: {
query: `mutation UpdateExam($input: UpdateExamInput!) {
updateExam(input: $input) {
exam {
questions
}
}
}`,
variables: {
input: {
where: {
id: examInfo.id
},
data: {
questions: [{ gf: "hello" }]
}
}
}
}
});
试一试,看看是否有效。
如果重要的话,我正在将 GraphQL 插件与 strapi cms 一起使用。
我不知道如何使用动态变量更新现有查询。我没有使用变量的原始突变:
mutation {
updateExam(input: {
where: {
id: "1234"
},
data: {
questions: "hello"
}
}) {
exam {
questions
}
}
}
我了解到,如果我想使用变量创建一个新条目,我应该这样写(David Maze 在这里回答:How to pass JSON object in grpahql and strapi):
const response = await strap.request('POST', '/graphql', {
data: {
query: `mutation CreateExam($input: CreateExamInput!) {
createExam(input: $input) {
exam { name, desription, time, questions }
}
}`,
variables: {
input: {
name: examInfo.newExamName,
desription: examInfo.newExamDescription,
time: Number(examInfo.newExamTime),
questions: [{ gf: "hello" }],
subjects: [this.state.modalSubjeexisting
}
}
}
});
但是如何更新现有查询?我应该把
放在哪里where: {id: "1234"}
如何提供条目的现有 ID?
我不知道这个 strapi cms,但顺便说一句,它看起来像你已经在工作的突变,我会尝试这样的更新:
const response = await strap.request('POST', '/graphql', {
data: {
query: `mutation UpdateExam($input: UpdateExamInput!) {
updateExam(input: $input) {
exam {
questions
}
}
}`,
variables: {
input: {
where: {
id: examInfo.id
},
data: {
questions: [{ gf: "hello" }]
}
}
}
}
});
试一试,看看是否有效。