为了账号安全,请及时绑定邮箱和手机立即绑定

删除突变返回null

删除突变返回null

呼如林 2021-05-06 18:51:52
我有一个待办事项清单,在此清单中,我已成功设法添加新项目和更新缓存,现在致力于添加删除突变。我的最终目标是从delete突变中返回一个ID,该ID可用于更新客户端的待办事项的整个列表。我尝试将项目的ID传递给突变,但它返回null。图式type Todo {  _id: ID!  todo: String!}type RootMutation {  deleteTodo(_id: ID!): Todo}解析器  deleteTodo: async function({ _id }, req) {    return await Todo.deleteOne({ _id });  }使用以下代码在http:// localhost:3000 / graphql的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  }}当我将一个项目的ID传递给该突变时,预期会返回此已删除项目的ID,但我一直为空。我怀疑我的解析器功能可能有问题。
查看完整描述

1 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

您可能不想在deleteOne这里使用该方法。纵观类型定义mongooseremovedeleteOnedeleteMany不会返回删除的文档。使用findByIdAndRemove代替,它将返回已删除的文档;如果找不到,则返回null。


查看完整回答
反对 回复 2021-05-20
  • 1 回答
  • 0 关注
  • 174 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信