跳至内容

去重节点#

使用Remove Duplicates节点来识别并删除以下重复项:

  • 在单次执行中所有字段或字段子集完全相同
  • 与之前执行中看到的项目相同或更优

这在可能出现重复数据的情况下非常有用,例如用户创建多个账户,或客户多次提交同一订单。处理大型数据集时,发现并删除这些重复项会变得更加困难。

通过与之前执行的数据进行比较,Remove Duplicates节点可以删除在早期执行中已见过的项目。它还能确保新项目的日期比之前的值更晚,或数值比之前的值更高。

1.64.0版本的主要变更

n8n团队在n8n 1.64.0版本中全面改进了该节点。本文档反映的是该节点的最新版本。如果您使用的是旧版n8n,可以点击此处查看本文档的旧版内容。

运行模式#

去重节点的运作方式会根据operation参数值的不同而有所差异:

移除当前输入中的重复项#

当您将"操作"字段设置为移除当前输入中的重复项时,Remove Duplicate节点会识别并移除当前输入中的重复条目。该操作可以应用于所有字段,或仅针对字段子集执行。

移除当前输入参数中的重复项#

使用移除当前输入中的重复项操作时,可使用以下参数:

  • Compare: Select which fields of the input data n8n should compare to check if they're the same. The following options are available:
    • 所有字段: 比较输入数据的所有字段。
    • 排除以下字段: 输入n8n在比较时应排除哪些输入数据字段。您可以提供多个值,用逗号分隔。
    • 选定字段: 输入n8n在比较中应包含哪些输入数据字段。您可以提供多个以逗号分隔的值。

移除当前输入选项中的重复项#

如果选择排除所有字段选定字段作为比较类型,可以添加以下选项:

  • 禁用点符号表示法: 设置是否使用点符号表示法以parent.child格式引用子字段(关闭)或不使用(开启)。
  • 移除其他字段: 设置是否移除比较中未使用的任何字段(开启)或不移除(关闭)。

移除之前执行中已处理的条目#

当您将"操作"字段设置为移除先前执行中处理过的项目时,去重节点会将当前输入的项目与之前执行的项目进行比较。

移除先前执行中已处理项目的参数#

使用移除先前执行中已处理项操作时,可使用以下参数:

  • 保留项目条件: 选择n8n如何决定保留哪些项目。以下是可用的选项:

    • 值为新: n8n会移除与之前执行结果中值匹配的条目。
    • 当前值高于所有先前值: 如果当前值不高于之前的值,n8n会移除这些项目。
    • 值为晚于之前所有日期的日期: n8n会移除当前日期不晚于之前日期的日期项。
  • 去重依据值: 需要比较的输入字段。您为保留项目条件参数选择的选项将决定所需的精确格式:

    • 当使用值为新时,这必须是一个具有唯一ID的输入字段或字段组合。
    • 当使用值高于任何先前值时,这必须是一个具有递增值的输入字段或字段组合。
    • 当使用值为晚于任何先前日期的日期时,此字段必须是包含ISO格式日期值的输入字段。

移除先前执行中已处理项的选项#

使用移除先前执行中已处理项操作时,可使用以下选项:

  • Scope: Sets how n8n stores and uses the deduplication data for comparisons. The following options are available:
    • 节点: (默认) 将此节点的数据独立于工作流中其他"去重"实例存储。使用此作用域时,您可以清除此节点实例的重复历史记录而不影响其他节点。
    • 工作流: 在工作流级别存储去重数据。这将与任何其他设置为使用"工作流"范围的"移除重复项"节点共享去重数据。n8n仍会独立管理其他设置为"节点"范围的"移除重复项"节点的去重数据。

当您选择值为新作为保留项目条件时,此选项也可用:

  • 历史记录大小: n8n为追踪多次执行中的重复项而存储的项目数量。作用范围选项的值决定了该历史记录大小是仅适用于当前这个"移除重复项"节点实例,还是与工作流中的其他实例共享。默认情况下,n8n会存储10,000个项目。

清除去重历史记录#

当您将"操作"字段设置为清除去重历史记录时,Remove Duplicates节点会管理并清除之前执行中存储的项目。此操作不会影响当前输入中的任何项目,而是管理"移除之前执行中已处理项目"操作所使用的项目数据库。

清除去重历史参数#

使用清除去重历史记录操作时,可使用以下参数:

  • Mode: How you want to manage the key / value items stored in the database. The following option is available:
    • 清理数据库: 删除数据库中存储的所有重复数据。这将使重复数据库恢复到初始状态。

清除去重历史记录选项#

使用清除去重历史操作时,以下选项可用:

  • Scope: Sets the scope n8n uses when managing the duplication database.
    • 节点: (默认) 管理此"移除重复项"节点实例专用的重复数据库。
    • 工作流: 管理由所有使用工作流作用域的"移除重复项"节点实例共享的重复数据库。

模板和示例#

如需使用去重节点的模板及示例,请参阅Templates and examples

了解更多关于n8n工作流中的数据结构和数据流

优云智算