Mongoose 如何在GraphQL中创建删除变异?

Mongoose 如何在GraphQL中创建删除变异?,mongoose,graphql,express-graphql,Mongoose,Graphql,Express Graphql,堆栈溢出 一天前,我开始为自己学习一个新东西——GraphQL。 现在我知道了如何使用GraphQL添加和读取数据库中的对象。我试图找到问题“如何从数据库中删除对象”的答案。但这不是运气。你能帮我回答这个(对你来说)难的问题吗 谢谢你的回答 我找到了!也许有人需要答案 使用Model.findbyianddelete(id、选项、回调) 我的代码: deleteImage: { type: ImageType, args: { id: { type: GraphQLID }

堆栈溢出

一天前,我开始为自己学习一个新东西——GraphQL。 现在我知道了如何使用GraphQL添加和读取数据库中的对象。我试图找到问题“如何从数据库中删除对象”的答案。但这不是运气。你能帮我回答这个(对你来说)难的问题吗


谢谢你的回答

我找到了!也许有人需要答案

使用Model.findbyianddelete(id、选项、回调)

我的代码:

deleteImage: {
  type: ImageType,
  args: {
    id: { type: GraphQLID }
  },
  resolve(parent, args) {
    return Image.findByIdAndDelete(args.id);
  }
}

它起作用了

这可能是解决这个问题的另一种方法。我正在使用Graphql构建一个实时聊天应用程序,当我遇到这个解决方案时,我试图让用户能够删除他们的消息

let messages = []

My definitions:
type Query {
    messages: [Message!]
}
type Mutation {
    deleteMessage(id:String!):String
}

My resolvers:
Query: {
    messages: () => messages,
  }
Mutation: {
    deleteMessage: (parent, {id}) => {
     let ID = parseInt(id)
     messages = messages.filter((message) => message.id !== ID);
     return id;
}
}
我查询消息并将它们放入名为messages的数组中,然后在用户需要时将它们放入数组中 要从前端删除邮件,请将邮件id发送到服务器 然后我使用上面的filter方法删除指定的消息