neo4j - 尝试使用 apoc.periodic.iterate 批量删除重复节点。服务器一直超时
问题描述
我正在尝试批量删除重复节点。但是,我不断收到错误Connection to server lost. Reconnecting...
服务器似乎正在断开连接然后重新连接。我正在尝试对Post
具有相同共享属性的所有节点类型进行重复数据删除unique_post_id
。关于如何进行这种重复数据删除的任何想法?
call apoc.periodic.iterate('
MATCH (p:Post)
WITH p.unique_post_id as id, collect(p) AS nodes
WHERE size(nodes) > 1
FOREACH (p in tail(nodes) | DETACH DELETE p) ','', {batchSize:100000})
解决方案
您使用的过程不正确。您的第一个参数apoc.periodic.iterate
应该是一个 Cypher 查询,该查询返回要删除的节点流,您的第二个参数应该是一个查询以分离删除这些节点。
试试这个:
call apoc.periodic.iterate(
'MATCH (p:Post)
WITH p.unique_post_id as id, collect(p) AS nodes
WHERE size(nodes) > 1
UNWIND tail(nodes) AS node
RETURN node',
'DETACH DELETE node',
{batchSize:100000, iterateList:true})
如果这仍然失败,请尝试减小batchSize
.
推荐阅读
- docker - 暴露 Nginx 容器并查看服务
- r - 绘制带有“无年”日期轴的线图
- asp.net-core - 如何在 VSCode 中运行 ASP.NET Core Web 应用程序时修复 HTTPS 证书错误
- r - 将 Excel 2016 中的数据集上传到 R 中,日期标题更改为一般格式
- arrays - 如何使用字符串为不同大小的数组设计结构?
- java - 试图制作一个程序,让我将 1 个骰子掷出 600 万次,同时计算它落在每一侧的次数。然后以十进制形式显示
- c# - 根据 ASP.NET Core 站点中的 AuthorizeFilter 和 AllowAnonymous 属性动态确定布局
- python - 熊猫头的第一行
- javascript - 用于将上传的文件名上传到 php 表单的 Js 不在一台服务器上工作但在另一台服务器上工作
- docusignapi - DocuSign API“GET信封”路由不考虑“包含”参数