去重节点#
使用去重节点可以识别并删除以下重复项:
- 在同一执行中所有字段或字段子集完全相同的条目
- 与之前执行中已处理条目相同或被其超越的条目
该节点适用于可能产生重复数据的场景,例如用户创建多个账户,或客户多次提交相同订单。在处理大型数据集时,人工识别和删除这些重复项会变得异常困难。 通过与前次执行的数据进行比对,去重节点能够删除早期执行中已处理过的条目。同时还能确保新条目具有比历史值更晚的日期或更高的数值。
1.64.0 版本重大变更#
n8n 团队在 1.64.0 版本中对此节点进行了重构。本文档对应的是最新版本节点。如果您使用的是旧版 n8n,可在此处查看旧版文档。
操作模式#
去重节点根据操作参数的不同值提供三种工作模式:
- 移除当前输入中的重复项:识别并删除当前输入中所有字段或指定字段子集的重复条目
- 移除已处理的重复项:将当前输入条目与历史执行记录进行比对并移除重复项
- 清除去重历史:清空之前执行保存的条目记录
移除当前输入中的重复项#
当您将"操作"字段设置为移除当前输入中的重复项时,去重节点会识别并移除当前输入中的重复项。该操作可以针对所有字段执行,也可以仅在字段子集中执行。
移除当前输入中的重复项参数#
使用移除当前输入中的重复项操作时,可使用以下参数:
- 比较:选择 n8n 应比较输入数据的哪些字段以检查是否相同。提供以下选项:
- 所有字段:比较输入数据的所有字段
- 除指定字段外所有字段:输入 n8n 应从比较中排除的输入数据字段。可提供多个以逗号分隔的值
- 选定字段:输入 n8n 应包含在比较中的输入数据字段。可提供多个以逗号分隔的值
移除当前输入中的重复项选项#
如果选择除指定字段外所有字段或选定字段作为比较类型,可添加以下选项:
- 禁用点标记法:设置是否使用点标记法以
parent.child格式引用子字段(关闭时使用)或不使用(开启时禁用) - 移除其他字段:设置是否移除未用于比较的任何字段(开启时移除)或保留(关闭时保留)
移除先前执行中已处理的条目#
当您将"操作(Operation)"字段设置为移除先前执行中已处理的条目时,去重节点(Remove Duplicate node)会将当前输入中的条目与先前执行中的条目进行比较。
移除先前执行中已处理条目的参数#
使用移除先前执行中已处理的条目操作时,可使用以下参数:
- 保留条目的条件(Keep Items Where):选择 n8n 决定保留条目的方式。可选选项包括:
- 值为新值(Value Is New):如果条目的值与先前执行中的条目匹配,n8n 会移除这些条目。
- 值高于任何先前值(Value Is Higher than Any Previous Value):如果当前值不高于先前值,n8n 会移除这些条目。
- 日期晚于任何先前日期(Value Is a Date Later than Any Previous Date):如果当前日期不晚于先前日期,n8n 会移除日期条目。
- 去重依据的值(Value to Dedupe On):要比较的输入字段或字段组合。您为**保留条目的条件(Keep Items Where)**参数选择的选项决定了所需的格式:
- 使用**值为新值(Value Is New)**时,必须使用具有唯一标识符的输入字段或字段组合。
- 使用**值高于任何先前值(Value Is Higher than Any Previous Value)**时,必须使用具有递增值的输入字段或字段组合。
- 使用**日期晚于任何先前日期(Value Is a Date Later than Any Previous Date)**时,必须使用具有 ISO 格式日期值的输入字段。
移除先前执行中已处理条目的选项#
使用移除先前执行中已处理的条目操作时,可使用以下选项:
- 作用域(Scope):设置 n8n 存储和使用去重数据进行比较的方式。可选选项包括:
- 节点(Node):(默认)将此节点的数据与工作流中其他去重节点(Remove Duplicates)实例独立存储。使用此作用域时,您可以清除去重历史记录而不影响其他节点。
- 工作流(Workflow):在工作流级别存储去重数据。这将与任何其他设置为使用"工作流(workflow)"作用域的去重节点共享去重数据。n8n 仍会独立管理其他设置为"节点(node)"作用域的去重节点的去重数据。
当您选择值是新值作为保留项目条件时,以下选项可用:
- 历史记录大小:n8n 为跟踪跨执行重复项而存储的项目数量。作用域选项的值决定此历史记录大小是专属于此单个"移除重复项"节点实例,还是与工作流中的其他实例共享。默认情况下,n8n 会存储 10,000 个项目。
清除去重历史记录#
当您将"操作"字段设置为清除去重历史记录时,"移除重复项"节点将管理并清除之前执行中存储的项目。此操作不会影响当前输入中的任何项目,而是管理"移除先前执行中已处理项目"操作所使用的项目数据库。
清除去重历史记录参数#
使用清除去重历史记录操作时,以下参数可用:
- 模式:您希望如何管理数据库中存储的键/值项目。以下选项可用:
- 清理数据库:删除数据库中存储的所有去重数据。这将使去重数据库恢复到初始状态。
清除去重历史记录选项#
使用清除去重历史记录操作时,以下选项可用:
- 作用域:设置 n8n 在管理去重数据库时使用的作用范围。
- 节点:(默认)管理专属于此"移除重复项"节点实例的去重数据库。
- 工作流:管理由所有使用工作流作用域的"移除重复项"节点实例共享的去重数据库。
模板和示例#
如需查看使用去重节点的模板及其用法示例,请参阅模板和示例。
相关资源#
深入了解 n8n 工作流中的数据结构和数据流。 与文档互动 本页面 !点赞 有帮助 !点踩 无帮助 感谢您的反馈! 提交 上一页 从磁盘读写文件 下一页 模板和示例 基于 Material for MkDocs Insiders 构建