N8N中文教程
集成节点/Built in_nodes/Core_nodes/Remove_Duplicates

去重节点#

使用去重节点可以识别并删除以下重复项:

  • 在同一执行中所有字段或字段子集完全相同的条目
  • 与之前执行中已处理条目相同或被其超越的条目

该节点适用于可能产生重复数据的场景,例如用户创建多个账户,或客户多次提交相同订单。在处理大型数据集时,人工识别和删除这些重复项会变得异常困难。 通过与前次执行的数据进行比对,去重节点能够删除早期执行中已处理过的条目。同时还能确保新条目具有比历史值更晚的日期或更高的数值。

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 构建