Skip to content

模板与示例#

以下是一些适用于 Remove Duplicates 节点的模板和示例。

连续示例

本节包含的示例是一个连续序列。请按顺序操作以避免意外结果。

模板#

Browse 模板与示例 integration templates, or search all templates

使用 Code 节点设置示例数据#

创建一个包含示例输入数据的工作流来测试 Remove Duplicates 节点。

  1. 在画布上添加一个 Code 节点,并将其连接到 Manual Trigger 节点。
  2. 在 Code 节点中,将模式设为为每个项目运行一次,语言设为JavaScript。
  3. 在 JavaScript 字段中粘贴以下 JavaScript 代码片段:
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    let data =[];
    
    return {
      data: [
        { id: 1, name: 'Taylor Swift', job: 'Pop star', last_updated: '2024-09-20T10:12:43.493Z' },
        { id: 2, name: 'Ed Sheeran', job: 'Singer-songwriter', last_updated: '2024-10-05T08:30:59.493Z' },
        { id: 3, name: 'Adele', job: 'Singer-songwriter', last_updated: '2024-10-07T14:15:59.493Z' },
        { id: 4, name: 'Bruno Mars', job: 'Singer-songwriter', last_updated: '2024-08-25T17:45:12.493Z' },
        { id: 1, name: 'Taylor Swift', job: 'Pop star', last_updated: '2024-09-20T10:12:43.493Z' },  // 重复项
        { id: 5, name: 'Billie Eilish', job: 'Singer-songwriter', last_updated: '2024-09-10T09:30:12.493Z' },
        { id: 6, name: 'Katy Perry', job: 'Pop star', last_updated: '2024-10-08T12:30:45.493Z' },
        { id: 2, name: 'Ed Sheeran', job: 'Singer-songwriter', last_updated: '2024-10-05T08:30:59.493Z' },  // 重复项
        { id: 7, name: 'Lady Gaga', job: 'Pop star', last_updated: '2024-09-15T14:45:30.493Z' },
        { id: 8, name: 'Rihanna', job: 'Pop star', last_updated: '2024-10-01T11:50:22.493Z' },
        { id: 3, name: 'Adele', job: 'Singer-songwriter', last_updated: '2024-10-07T14:15:59.493Z' },  // 重复项
        //{ id: 9, name: 'Tom Hanks', job: 'Actor', last_updated: '2024-10-17T13:58:31.493Z' },
        //{ id: 0, name: 'Madonna', job: 'Pop star', last_updated: '2024-10-17T17:11:38.493Z' },
        //{ id: 15, name: 'Bob Dylan', job: 'Folk singer', last_updated: '2024-09-24T08:03:16.493Z'},
        //{ id: 10, name: 'Harry Nilsson', job: 'Singer-songwriter', last_updated: '2020-10-17T17:11:38.493Z' },
        //{ id: 11, name: 'Kylie Minogue', job: 'Pop star', last_updated: '2024-10-24T08:03:16.493Z'},
      ]
    }
    
  4. 在画布上添加一个 Split Out 节点,并将其连接到 Code 节点。
  5. 在 Split Out 节点中,在 Fields To Split Out 字段中输入 data。

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

  1. 在画布上添加一个 Remove Duplicates 节点并连接到 Split Out 节点。首先选择 Remove items repeated within current input 作为 Action。
  2. 打开 Remove Duplicates 节点,确保 Operation 设置为 Remove Items Repeated Within Current Input。
  3. 在 Compare 字段中选择 All fields。
  4. 选择 Execute step 运行 Remove Duplicates 节点,移除当前输入中的重复数据。

n8n 会移除所有字段数据完全相同的条目。表格视图中的输出应如下所示:

id name job last_updated
1 Taylor Swift Pop star 2024-09-20T10:12:43.493Z
2 Ed Sheeran Singer-songwriter 2024-10-05T08:30:59.493Z
3 Adele Singer-songwriter 2024-10-07T14:15:59.493Z
4 Bruno Mars Singer-songwriter 2024-08-25T17:45:12.493Z
5 Billie Eilish Singer-songwriter 2024-09-10T09:30:12.493Z
6 Katy Perry Pop star 2024-10-08T12:30:45.493Z
7 Lady Gaga Pop star 2024-09-15T14:45:30.493Z
8 Rihanna Pop star 2024-10-01T11:50:22.493Z
  1. 再次打开 Remove Duplicates 节点,将 Compare 参数改为 Selected Fields。
  2. 在 Fields To Compare 字段中输入 job。
  3. 选择 Execute step 运行 Remove Duplicates 节点,移除当前输入中的重复数据。

n8n 会移除当前输入中 job 字段数据相同的条目。表格视图中的输出应如下所示:

id name job last_updated
1 Taylor Swift Pop star 2024-09-20T10:12:43.493Z
2 Ed Sheeran Singer-songwriter 2024-10-05T08:30:59.493Z

保留值为新的项目#

  1. 打开 Remove Duplicates 节点,将 Operation 设置为 Remove Items Processed in Previous Executions(移除之前执行过的项目)。
  2. 将 Keep Items Where 参数设置为 Value Is New(值为新)。
  3. 将 Value to Dedupe On 参数设置为 {{ $json.name }}。
  4. 在画布上选择 Execute workflow 运行工作流。打开 Remove Duplicates 节点查看结果。

n8n 会将当前输入数据与之前执行存储的项目进行比较。由于这是首次使用此操作运行 Remove Duplicates 节点,n8n 会处理所有数据项并将其放入 Kept(保留)输出选项卡。项目顺序可能与输入数据中的顺序不同:

id name job last_updated
1 Taylor Swift Pop star 2024-09-20T10:12:43.493Z
1 Taylor Swift Pop star 2024-09-20T10:12:43.493Z
2 Ed Sheeran Singer-songwriter 2024-10-05T08:30:59.493Z
2 Ed Sheeran Singer-songwriter 2024-10-05T08:30:59.493Z
3 Adele Singer-songwriter 2024-10-07T14:15:59.493Z
3 Adele Singer-songwriter 2024-10-07T14:15:59.493Z
4 Bruno Mars Singer-songwriter 2024-08-25T17:45:12.493Z
5 Billie Eilish Singer-songwriter 2024-09-10T09:30:12.493Z
6 Katy Perry Pop star 2024-10-08T12:30:45.493Z
7 Lady Gaga Pop star 2024-09-15T14:45:30.493Z
8 Rihanna Pop star 2024-10-01T11:50:22.493Z

项目仅与之前执行记录比较

当前输入项仅与之前执行存储的项目进行比较。这意味着在此操作模式下,当前输入中的重复项不会被移除。如果需要移除当前输入中以及跨执行的重复项,可以串联两个 Remove Duplicate 节点。将第一个节点设置为 Remove Items Repated Within Current Input(移除当前输入中的重复项)操作,第二个节点设置为 Remove Items Processed in Previous Executions(移除之前执行过的项目)操作。

  1. 打开 Code 节点,取消注释(移除 //)"Tom Hanks" 所在行。
  2. 在画布上再次选择 Execute workflow。再次打开 Remove Duplicates 节点查看结果。

n8n 将当前输入数据与之前执行存储的项目进行比较。这次 Kept 选项卡包含来自 Code 节点的一条新记录:

id name job last_updated
9 Tom Hanks Actor 2024-10-17T13:58:31.493Z

Discarded(丢弃)选项卡包含之前执行处理过的项目:

id name job last_updated
1 Taylor Swift Pop star 2024-09-20T10:12:43.493Z
1 Taylor Swift Pop star 2024-09-20T10:12:43.493Z
2 Ed Sheeran Singer-songwriter 2024-10-05T08:30:59.493Z
2 Ed Sheeran Singer-songwriter 2024-10-05T08:30:59.493Z
3 Adele Singer-songwriter 2024-10-07T14:15:59.493Z
3 Adele Singer-songwriter 2024-10-07T14:15:59.493Z
4 Bruno Mars Singer-songwriter 2024-08-25T17:45:12.493Z
5 Billie Eilish Singer-songwriter 2024-09-10T09:30:12.493Z
6 Katy Perry Pop star 2024-10-08T12:30:45.493Z
7 Lady Gaga Pop star 2024-09-15T14:45:30.493Z
8 Rihanna Pop star 2024-10-01T11:50:22.493Z

继续之前,请清除去重历史记录以便进行下一个示例:

  1. 打开 Remove Duplicates 节点,将 Operation 设置为 Clear Deduplication History(清除去重历史记录)。
  2. 选择 Execute step 清除当前去重历史记录。

保留值高于之前所有值的项目#

  1. 打开 Remove Duplicates 节点,将 Operation 设置为 Remove Items Processed in Previous Executions(移除先前执行处理过的项目)。
  2. 将 Keep Items Where 参数设置为 Value Is Higher than Any Previous Value(值高于之前所有值)。
  3. 将 Value to Dedupe On 参数设为 {{ $json.id }}。
  4. 在画布上选择 Execute workflow 运行工作流。打开 Remove Duplicates 节点查看结果。

n8n 会将当前输入数据与之前执行存储的项目进行比较。由于这是在清除历史记录后首次运行 Remove Duplicates 节点,n8n 会处理所有数据项并将其放入 Kept(保留)输出标签页。项目的顺序可能与输入数据中的顺序不同:

id name job last_updated
1 Taylor Swift Pop star 2024-09-20T10:12:43.493Z
1 Taylor Swift Pop star 2024-09-20T10:12:43.493Z
2 Ed Sheeran Singer-songwriter 2024-10-05T08:30:59.493Z
2 Ed Sheeran Singer-songwriter 2024-10-05T08:30:59.493Z
3 Adele Singer-songwriter 2024-10-07T14:15:59.493Z
3 Adele Singer-songwriter 2024-10-07T14:15:59.493Z
4 Bruno Mars Singer-songwriter 2024-08-25T17:45:12.493Z
5 Billie Eilish Singer-songwriter 2024-09-10T09:30:12.493Z
6 Katy Perry Pop star 2024-10-08T12:30:45.493Z
7 Lady Gaga Pop star 2024-09-15T14:45:30.493Z
8 Rihanna Pop star 2024-10-01T11:50:22.493Z
9 Tom Hanks Actor 2024-10-17T13:58:31.493Z
  1. 打开 Code 节点,取消注释(移除 //)"Madonna" 和 "Bob Dylan" 对应的行。
  2. 在画布上再次选择 Execute workflow。再次打开 Remove Duplicates 节点查看结果。

n8n 会将当前输入数据与之前执行存储的项目进行比较。这次 Kept 标签页中只包含 "Bob Dylan" 的条目。n8n 保留该项目是因为其 id 列值(15)高于之前的所有值(之前的最大值是 9):

id name job last_updated
15 Bob Dylan Folk singer 2024-09-24T08:03:16.493Z

Discarded(丢弃)标签页包含 13 个 id 列值小于或等于之前最大值(9)的项目。即使 "Madonna" 是新条目,该表也包含它,因为其 id 值不大于之前的最大值:

id name job last_updated
0 Madonna Pop star 2024-10-17T17:11:38.493Z
1 Taylor Swift Pop star 2024-09-20T10:12:43.493Z
1 Taylor Swift Pop star 2024-09-20T10:12:43.493Z
2 Ed Sheeran Singer-songwriter 2024-10-05T08:30:59.493Z
2 Ed Sheeran Singer-songwriter 2024-10-05T08:30:59.493Z
3 Adele Singer-songwriter 2024-10-07T14:15:59.493Z
3 Adele Singer-songwriter 2024-10-07T14:15:59.493Z
4 Bruno Mars Singer-songwriter 2024-08-25T17:45:12.493Z
5 Billie Eilish Singer-songwriter 2024-09-10T09:30:12.493Z
6 Katy Perry Pop star 2024-10-08T12:30:45.493Z
7 Lady Gaga Pop star 2024-09-15T14:45:30.493Z
8 Rihanna Pop star 2024-10-01T11:50:22.493Z
9 Tom Hanks Actor 2024-10-17T13:58:31.493Z

在继续之前,请清除去重历史记录以便为下一个示例做好准备:

  1. 打开 Remove Duplicates 节点,将 Operation 设置为 Clear Deduplication History(清除去重历史记录)。
  2. 选择 Execute step 清除当前去重历史记录。

保留日期值大于之前所有日期的条目#

  1. 打开 Remove Duplicates 节点,将 Operation 设置为 Remove Items Processed in Previous Executions。
  2. 将 Keep Items Where 参数设置为 Value Is a Date Later than Any Previous Date。
  3. 将 Value to Dedupe On 参数设置为 {{ $json.last_updated }}。
  4. 在画布上选择 Execute workflow 运行工作流。打开 Remove Duplicates 节点查看结果。

n8n 会将当前输入数据与之前执行存储的条目进行比较。由于这是清除历史记录后首次运行 Remove Duplicates 节点,n8n 会处理所有数据条目并将其放入 Kept 输出选项卡。条目的顺序可能与输入数据中的顺序不同:

id name job last_updated
0 Madonna 流行歌手 2024-10-17T17:11:38.493Z
1 Taylor Swift 流行歌手 2024-09-20T10:12:43.493Z
1 Taylor Swift 流行歌手 2024-09-20T10:12:43.493Z
2 Ed Sheeran 创作型歌手 2024-10-05T08:30:59.493Z
2 Ed Sheeran 创作型歌手 2024-10-05T08:30:59.493Z
3 Adele 创作型歌手 2024-10-07T14:15:59.493Z
3 Adele 创作型歌手 2024-10-07T14:15:59.493Z
4 Bruno Mars 创作型歌手 2024-08-25T17:45:12.493Z
5 Billie Eilish 创作型歌手 2024-09-10T09:30:12.493Z
6 Katy Perry 流行歌手 2024-10-08T12:30:45.493Z
7 Lady Gaga 流行歌手 2024-09-15T14:45:30.493Z
8 Rihanna 流行歌手 2024-10-01T11:50:22.493Z
9 Tom Hanks 演员 2024-10-17T13:58:31.493Z
15 Bob Dylan 民谣歌手 2024-09-24T08:03:16.493Z
  1. 打开 Code 节点,取消注释(移除 //)"Harry Nilsson" 和 "Kylie Minogue" 对应的行。
  1. 在画布上再次选择 Execute workflow。再次打开 Remove Duplicates 节点查看结果。

n8n 会将当前输入数据与之前执行存储的条目进行比较。这次 Kept 选项卡中只包含 "Kylie Minogue" 的条目。n8n 保留这个条目是因为它的 last_updated 列值 (2024-10-24T08:03:16.493Z) 比之前的所有值都更晚(之前的最晚日期是 2024-10-17T17:11:38.493Z):

id name job last_updated
11 Kylie Minogue 流行歌手 2024-10-24T08:03:16.493Z

Discarded 选项卡包含 15 个 last_updated 列值等于或早于之前最晚日期 (2024-10-17T17:11:38.493Z) 的条目。尽管是新添加的,这个表格包含了 "Harry Nilsson" 的条目,因为它的 last_updated 值没有超过之前的最大值:

id name job last_updated
10 Harry Nilsson 创作型歌手 2020-10-17T17:11:38.493Z
0 Madonna 流行歌手 2024-10-17T17:11:38.493Z
1 Taylor Swift 流行歌手 2024-09-20T10:12:43.493Z
1 Taylor Swift 流行歌手 2024-09-20T10:12:43.493Z
2 Ed Sheeran 创作型歌手 2024-10-05T08:30:59.493Z
2 Ed Sheeran 创作型歌手 2024-10-05T08:30:59.493Z
3 Adele 创作型歌手 2024-10-07T14:15:59.493Z
3 Adele 创作型歌手 2024-10-07T14:15:59.493Z
4 Bruno Mars 创作型歌手 2024-08-25T17:45:12.493Z
5 Billie Eilish 创作型歌手 2024-09-10T09:30:12.493Z
6 Katy Perry 流行歌手 2024-10-08T12:30:45.493Z
7 Lady Gaga 流行歌手 2024-09-15T14:45:30.493Z
8 Rihanna 流行歌手 2024-10-01T11:50:22.493Z
9 Tom Hanks 演员 2024-10-17T13:58:31.493Z
15 Bob Dylan 民谣歌手 2024-09-24T08:03:16.493Z