如何解决为什么在进行突变时出现“无法为不可为null的字段返回null”错误?
我正在尝试服务器端的(Apollo)GraphQL,并且可能遇到了一个愚蠢的问题。我正在尝试从faundb数据库中删除待办事项,但仍在显示下面的链接图像中显示错误。问题是什么?添加待办事项正常工作,但是当我通过id删除待办事项时,图像中出现错误
` **Schema**
const GET_TodoS = gql`
{
todos {
task,id,status
}
}
`;
const ADD_Todo = gql`
mutation addTodo($task: String!){
addTodo(task: $task){
task
}
}
`
const deletetodo = gql`
mutation deleteTask($id: ID!) {
deleteTask(id: $id) {
task
}
}
`;
Mutation
const typeDefs = gql`
type Query {
todos: [Todo!]
}
type Mutation {
addTodo(task: String!): Todo
deleteTask(id: ID!): Todo
}
type Todo {
id: ID!
task: String!
status: Boolean!
}
`
const resolvers = {
Query: {
todos: async (root,args,context) => {
try {
var adminClient = new faunadb.Client({ secret: 'fnAD5rID0MACBTs47TwGR8D1Itfdj3cyo79VVDWD' });
const result = await adminClient.query(
q.Map(
q.Paginate(q.Match(q.Index('task'))),q.Lambda(x => q.Get(x))
)
)
console.log(result.data)
return result.data.map(d=>{
return {
id: d.ts,status: d.data.status,task: d.data.task
}
})
}
catch (err) {
console.log(err)
return err.toString();
}
}
// authorByName: (root,context) => {
// console.log('hihhihi',args.name)
// return authors.find(x => x.name === args.name) || 'NOTFOUND'
// },},Mutation: {
addTodo: async (_,{ task }) => {
try {
var adminClient = new faunadb.Client({ secret: 'fnAD5rID0MACBTs47TwGR8D1Itfdj3cyo79VVDWD' });
const result = await adminClient.query(
q.Create(
q.Collection('todos'),{
data: {
task: task,status: true
}
},)
)
return result.ref.data;
}
catch (err) {
console.log(err)
}
},deleteTask: async (_,{ id }) => {
try {
console.log(id);
var adminClient = new faunadb.Client({ secret: 'fnAD5rID0MACBTs47TwGR8D1Itfdj3cyo79VVDWD' });
const result = await adminClient.query(
q.Delete(q.Ref(q.Collection("todos"),id))
);
console.log(result);
return result.ref.data;
} catch (error) {
return error.toString();
}
},}
}`
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。