dgraph - 如何删除给定类型的所有节点?

标签 dgraph

https://dgraph.io/tour/schema/8/

显示一些删除选项

  1. 删除单个三元组
  2. 删除给定边的所有三元组
  3. 删除给定节点的所有三元组

现在我想删除给定类型节点的所有三元组。我假设这是通过某种查询组合来完成的,该查询选择给定类型的节点,然后对每个节点进行突变。我在教程中找不到这方面的示例。

假设我想删除 Country 类型节点的所有三元组。

我知道如何为节点选择 uid:

    {  
      query(func: has(<dgraph.type>)) @filter(eq(<dgraph.type>, "Country")) {
        uid
      }
    }

但是我如何将其与突变结合起来?

https://discuss.dgraph.io/t/how-to-bulk-delete-nodes-or-cascade-delete-nodes/7308

似乎要求“更新插入”

如何实现删除给定类型节点的所有三元组?

最佳答案

以下更新插入似乎有效:

upsert {  
  query {
    # get the uids of all Country nodes
     countries as var (func: has(<dgraph.type>)) @filter(eq(<dgraph.type>, "Country")) {
        uid
    }
  }
  mutation {
    delete {
      uid(countries) * * .
    }
  }
}

关于dgraph - 如何删除给定类型的所有节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63358495/

相关文章:

node.js - 如何获取 dgraph-orm 中查询的 ' logs'

graphql - 如何分组和计算dgraph

docker - 如何在 docker 容器中导出 DGraph 数据库 (Windows)

go - 如何将JSON响应中的特定数组值转换为只是数组中的第一个值?

graphql - GraphQL 是否有效 GraphQL+?

node.js - 无法使用 dgraph-orm 查询嵌套关系

go - HTTP请求: golang with graphQL?