У меня есть список дел, в которых мне удалось успешно добавить новые элементы и обновить кеш, и теперь я работаю над добавлением мутации удаления. Моя конечная цель - вернуть идентификатор из мутации удаления, чтобы этот идентификатор можно было использовать для обновления всего списка задач на стороне клиента.
Я пробовал передать в мутацию идентификатор элемента, но он возвращает ноль.
схема
type Todo {
_id: ID!
todo: String!
}
type RootMutation {
deleteTodo(_id: ID!): Todo
}
решатель
deleteTodo: async function({ _id }, req) {
return await Todo.deleteOne({ _id });
}
Протестировал эту мутацию в интерфейсе graphql по адресу http://localhost:3000/graphql со следующим кодом:
mutation {
deleteTodo (_id: "example0101010101001010101aasdsadasd"){
_id
}
}
получение этой ошибки
{
"errors": [
{
"message": "Cannot return null for non-nullable field Todo._id.",
"locations": [
{
"line": 3,
"column": 3
}
],
"path": [
"deleteTodo",
"_id"
]
}
],
"data": {
"deleteTodo": null
}
}
Поскольку я передаю идентификатор элемента в мутацию, ожидается, что он вернет идентификатор этого удаленного элемента, но я продолжаю получать значение null. Я подозреваю, что проблема в моей функции распознавания.
Ссылка на репо github