跳转至

Remove Duplicates 节点#

使用 Remove Duplicates 节点来识别和删除以下项目:

  • 在单次执行中在所有字段或字段子集中相同的项目
  • 与先前执行中看到的项目相同或超过的项目

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

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

1.64.0 版本的主要更改

n8n 团队在 n8n 1.64.0 中彻底改造了此节点。本文档反映了节点的最新版本。如果您使用的是旧版本的 n8n,您可以在这里找到此文档的以前版本。

操作模式#

删除重复节点根据 operation 参数的值不同而工作方式不同:

删除当前输入中重复的项目#

当您将“操作”字段设置为 Remove Items Repeated Within Current Input 时,Remove Duplicate 节点会识别和删除当前输入中的重复项目。它可以在所有字段中或在字段子集中执行此操作。

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

使用 Remove Items Repeated Within Current Input 操作时,可使用以下参数:

  • Compare:选择 n8n 应比较输入数据的哪些字段以检查它们是否相同。可用选项如下:
    • All Fields:比较输入数据的所有字段。
    • All Fields Except:输入 n8n 应从比较中排除的输入数据字段。您可以提供由逗号分隔的多个值。
    • Selected Fields:输入 n8n 应在比较中包含的输入数据字段。您可以提供由逗号分隔的多个值。

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

如果您选择 All Fields ExceptSelected Fields 作为比较类型,您可以添加这些选项:

  • Disable Dot Notation:设置是否使用点记法以 parent.child 格式引用子字段(关闭)或不使用(开启)。
  • Remove Other Fields:设置是否删除比较中未使用的任何字段(开启)或不删除(关闭)。

删除在先前执行中处理的项目#

当您将“操作”字段设置为 Remove Items Processed in Previous Executions 时,Remove Duplicate 节点会将当前输入中的项目与先前执行的项目进行比较。

删除在先前执行中处理项目的参数#

使用 Remove Items Processed in Previous Executions 操作时,可使用以下参数:

  • 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 时,这必须是具有唯一 ID 的输入字段或字段组合。
    • 使用 Value Is Higher than Any Previous Value 时,这必须是具有递增值的输入字段或字段组合。
    • 使用 Value Is a Date Later than Any Previous Date 时,这必须是具有 ISO 格式日期值的输入字段。

删除在先前执行中处理项目的选项#

使用 Remove Items Processed in Previous Executions 操作时,可使用以下选项:

  • Scope:设置 n8n 如何存储和使用去重数据进行比较。可用选项如下:
    • Node:(默认)独立于工作流中其他 Remove Duplicates 实例存储此节点的数据。使用此范围时,您可以为此节点实例清除重复历史而不影响其他节点。
    • Workflow:在工作流级别存储重复数据。这与任何其他设置为使用“workflow”范围的 Remove Duplicate 节点共享重复数据。n8n 仍将独立管理设置为“node”范围的其他 Remove Duplicate 节点的重复数据。

当您选择 Value Is New 作为 Keep Items Where 选择时,此选项也可用:

  • History Size: n8n 存储的项目数量,用于跟踪执行中的重复项。Scope 选项的值决定此历史大小是特定于此单个 Remove Duplicate 节点实例还是与工作流中的其他实例共享。默认情况下,n8n 存储 10,000 个项目。

清除去重历史#

当您将“操作”字段设置为 Clear Deduplication History 时,Remove Duplicates 节点管理和清除从先前执行中存储的项目。此操作不会影响当前输入中的任何项目。相反,它管理“Remove Items Processed in Previous Executions”操作使用的项目数据库。

清除去重历史参数#

使用 Clear Deduplication History 操作时,可使用以下参数:

  • Mode:您希望如何管理存储在数据库中的键/值项目。可用选项如下:
    • Clean Database:删除存储在数据库中的所有重复数据。这将重复数据库重置为其原始状态。

清除去重历史选项#

使用 Clear Deduplication History 操作时,可使用以下选项:

  • Scope:设置 n8n 在管理重复数据库时使用的范围。
    • Node:(默认)管理特定于此 Remove Duplicates 节点实例的重复数据库。
    • Workflow:管理由所有使用工作流范围的 Remove Duplicate 节点实例共享的重复数据库。

模板和示例#

有关使用 Remove Duplicates 节点的模板和使用示例,请参阅模板和示例

相关资源#

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

此页面是否
💬 微信

🚀 与作者交流

关注公众号
n8n实战笔记公众号
n8n实战笔记
📚 教程 💡 案例 🔧 技巧
添加微信
添加作者微信
1对1 专业指导
⚡ 快答 🎯 定制 🚀 支持