去重节点#
使用Remove Duplicates节点来识别并删除以下重复项:
- 在单次执行中所有字段或字段子集完全相同
- 与之前执行中看到的项目相同或更优
这在可能出现重复数据的情况下非常有用,例如用户创建多个账户,或客户多次提交同一订单。处理大型数据集时,发现并删除这些重复项会变得更加困难。
通过与之前执行的数据进行比较,Remove Duplicates节点可以删除在早期执行中已见过的项目。它还能确保新项目的日期比之前的值更晚,或数值比之前的值更高。
1.64.0版本的主要变更
n8n团队在n8n 1.64.0版本中全面改进了该节点。本文档反映的是该节点的最新版本。如果您使用的是旧版n8n,可以点击此处查看本文档的旧版内容。
运行模式#
去重节点的运作方式会根据operation参数值的不同而有所差异:
- 移除当前输入中的重复项: 识别并移除当前输入中所有字段或指定字段子集中的重复项。
- 移除先前执行中已处理的条目: 将当前输入中的条目与先前执行的条目进行比较,并移除重复项。
- Clear Deduplication History: 清除之前执行记录中的项目记忆。
移除当前输入中的重复项#
当您将"操作"字段设置为移除当前输入中的重复项时,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工作流中的数据结构和数据流。