如何使用变量更新graphql中的条目
Posted
技术标签:
【中文标题】如何使用变量更新graphql中的条目【英文标题】:How to udpate an entry in graphql using variables 【发布时间】:2019-06-26 14:26:25 【问题描述】:如果重要的话,我正在使用带有 Strapi cms 的 GraphQL 插件。
我不知道如何使用动态变量更新现有查询。我的原始突变不使用变量:
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?
【问题讨论】:
【参考方案1】:我不知道这个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" ]
);
试一试,看看它是否有效。
【讨论】:
非常感谢它的工作!我不得不更换第二个 UpdateExamInput!更新考试输入!现在我将尝试找出为什么创建语法不起作用非常感谢 我猜你没有在你的创建查询中设置 data: inside input: object?以上是关于如何使用变量更新graphql中的条目的主要内容,如果未能解决你的问题,请参考以下文章
使用 GraphQL 变量和 Next JS 过滤数组中的数据