2

堆栈溢出!

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

感谢您的回答!

4

2 回答 2

2

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

使用Model.findByIdAndDelete(id, options, callback);

我的代码:

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

有用!

于 2018-08-25T08:59:40.977 回答
1

这可能是解决这个问题的另一种方法。我正在使用 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 发送到服务器,然后我使用上面的过滤器方法删除指定的消息。

于 2020-10-11T05:48:33.583 回答