gpt4 book ai didi

Graphql:一对多删除突变

转载 作者:行者123 更新时间:2023-12-05 07:39:02 24 4
gpt4 key购买 nike

我有一个简单的 Graphql 模型 User 与模型 Post 具有一对多关系。我想执行一个删除用户和所有后续相关帖子的更改。我应该如何构造突变?

最佳答案

我是 graphql 的初学者,但这是我想出的:

为此,您需要删除与另一个节点有连接的节点。您可以通过突变遍历图,找到与要删除的父节点(用户)相关的每个子节点(帖子)。

我当时使用的是 apollo 服务器和 neo4j,并且使用的是同一种查询。我认为你可以用这个突变实现类似的东西:

mutation DeleteUser($userId: ID!) {
deleteUser(where: {
id: $userId
}, delete: {
posts: [
{
delete: {
users: [
{
where: {
node: {
id: $userId}
}
}
}
]
}
}
]
}) {
nodesDeleted
relationshipsDeleted
}}

当您使用 useQuery 执行查询时,您只需要传递 userId 变量。

仅供引用:我认为删除到第 3 级(例如“评论”节点)更加困难,因为您需要第 2 级(发布)节点的 ID,我仍在尝试解决这个问题。

关于Graphql:一对多删除突变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47419047/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com