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

模板和示例#

以下是一些关于 Remove Duplicates 节点 的模板和示例。 连续性示例说明 本节中的示例是连续的,请按顺序依次操作,以避免出现意外结果。

模板#

浏览 Remove Duplicates 集成模板,或 搜索所有模板

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

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

  1. 在画布中添加一个 Code 节点,并将其连接到 Manual Trigger 节点。
  2. 在 Code 节点中,将 Mode(模式)设置为 Run Once for Each Item(每个项目运行一次),将 Language(语言)设置为 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

| ``` letdata=[];

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'},// duplicate {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'},// duplicate {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'},// duplicate //{ 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 节点,以移除当前输入中具有相同 `job` 数据的重复项。


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) 输出选项卡中。项目的顺序可能与输入数据中的顺序不同:

idnamejoblast_updated
1Taylor SwiftPop star2024-09-20T10:12:43.493Z
1Taylor SwiftPop star2024-09-20T10:12:43.493Z
2Ed SheeranSinger-songwriter2024-10-05T08:30:59.493Z
2Ed SheeranSinger-songwriter2024-10-05T08:30:59.493Z
3AdeleSinger-songwriter2024-10-07T14:15:59.493Z
3AdeleSinger-songwriter2024-10-07T14:15:59.493Z
4Bruno MarsSinger-songwriter2024-08-25T17:45:12.493Z
5Billie EilishSinger-songwriter2024-09-10T09:30:12.493Z
6Katy PerryPop star2024-10-08T12:30:45.493Z
7Lady GagaPop star2024-09-15T14:45:30.493Z
8RihannaPop star2024-10-01T11:50:22.493Z

仅与之前的执行结果进行比较 当前输入的项目仅与之前执行中存储的项目进行比较。这意味着在当前输入中重复的项目在此操作模式下不会被移除。如果你需要同时去除当前输入内部 以及 跨执行的重复项目,请将两个“去除重复项(Remove Duplicates)”节点依次连接。将第一个节点设置为使用 去除当前输入中重复的项目(Remove Items Repeated Within Current Input) 操作,第二个节点设置为使用 去除在之前执行中已处理的项目(Remove Items Processed in Previous Executions) 操作。

  1. 打开 Code 节点,取消注释(删除 //)"Tom Hanks" 所在行。
  2. 在画布上再次选择 执行工作流(Execute workflow)。然后再次打开“去除重复项”节点以查看结果。

n8n 会将当前输入的数据与之前执行中存储的项目进行比较。这一次,保留(Kept) 选项卡包含来自代码节点的一个新记录:

idnamejoblast_updated
9Tom HanksActor2024-10-17T13:58:31.493Z

已丢弃(Discarded) 选项卡则包含上一次执行所处理的项目:

idnamejoblast_updated
1Taylor SwiftPop star2024-09-20T10:12:43.493Z
1Taylor SwiftPop star2024-09-20T10:12:43.493Z
2Ed SheeranSinger-songwriter2024-10-05T08:30:59.493Z
2Ed SheeranSinger-songwriter2024-10-05T08:30:59.493Z
3AdeleSinger-songwriter2024-10-07T14:15:59.493Z
3AdeleSinger-songwriter2024-10-07T14:15:59.493Z
4Bruno MarsSinger-songwriter2024-08-25T17:45:12.493Z
5Billie EilishSinger-songwriter2024-09-10T09:30:12.493Z
6Katy PerryPop star2024-10-08T12:30:45.493Z
7Lady GagaPop star2024-09-15T14:45:30.493Z
8RihannaPop star2024-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) 输出选项卡中。项目的顺序可能与输入数据中的顺序不同:

idnamejoblast_updated
1Taylor SwiftPop star2024-09-20T10:12:43.493Z
1Taylor SwiftPop star2024-09-20T10:12:43.493Z
2Ed SheeranSinger-songwriter2024-10-05T08:30:59.493Z
2Ed SheeranSinger-songwriter2024-10-05T08:30:59.493Z
3AdeleSinger-songwriter2024-10-07T14:15:59.493Z
3AdeleSinger-songwriter2024-10-07T14:15:59.493Z
4Bruno MarsSinger-songwriter2024-08-25T17:45:12.493Z
5Billie EilishSinger-songwriter2024-09-10T09:30:12.493Z
6Katy PerryPop star2024-10-08T12:30:45.493Z
7Lady GagaPop star2024-09-15T14:45:30.493Z
8RihannaPop star2024-10-01T11:50:22.493Z
9Tom HanksActor2024-10-17T13:58:31.493Z
  1. 打开 Code 节点,取消注释(移除 //)"Madonna" 和 "Bob Dylan" 对应的行。
  2. 在画布上,再次选择 执行工作流(Execute workflow)。然后再次打开“去除重复项”节点以查看结果。

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

idnamejoblast_updated
15Bob DylanFolk singer2024-09-24T08:03:16.493Z

丢弃(Discarded) 选项卡则包含 id 列值小于或等于之前最大值(9)的 13 个项目。尽管是新数据,该表仍包含了 "Madonna" 的条目,因为其 id 值并未超过之前的最大值:

idnamejoblast_updated
0MadonnaPop star2024-10-17T17:11:38.493Z
1Taylor SwiftPop star2024-09-20T10:12:43.493Z
1Taylor SwiftPop star2024-09-20T10:12:43.493Z
2Ed SheeranSinger-songwriter2024-10-05T08:30:59.493Z
2Ed SheeranSinger-songwriter2024-10-05T08:30:59.493Z
3AdeleSinger-songwriter2024-10-07T14:15:59.493Z
3AdeleSinger-songwriter2024-10-07T14:15:59.493Z
4Bruno MarsSinger-songwriter2024-08-25T17:45:12.493Z
5Billie EilishSinger-songwriter2024-09-10T09:30:12.493Z
6Katy PerryPop star2024-10-08T12:30:45.493Z
7Lady GagaPop star2024-09-15T14:45:30.493Z
8RihannaPop star2024-10-01T11:50:22.493Z
9Tom HanksActor2024-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) 输出选项卡中。项目的顺序可能与输入数据中的顺序不同:

idnamejoblast_updated
0MadonnaPop star2024-10-17T17:11:38.493Z
1Taylor SwiftPop star2024-09-20T10:12:43.493Z
1Taylor SwiftPop star2024-09-20T10:12:43.493Z
2Ed SheeranSinger-songwriter2024-10-05T08:30:59.493Z
2Ed SheeranSinger-songwriter2024-10-05T08:30:59.493Z
3AdeleSinger-songwriter2024-10-07T14:15:59.493Z
3AdeleSinger-songwriter2024-10-07T14:15:59.493Z
4Bruno MarsSinger-songwriter2024-08-25T17:45:12.493Z
5Billie EilishSinger-songwriter2024-09-10T09:30:12.493Z
6Katy PerryPop star2024-10-08T12:30:45.493Z
7Lady GagaPop star2024-09-15T14:45:30.493Z
8RihannaPop star2024-10-01T11:50:22.493Z
9Tom HanksActor2024-10-17T13:58:31.493Z
15Bob DylanFolk singer2024-09-24T08:03:16.493Z
  1. 打开 Code 节点,取消注释(移除 //)"Harry Nilsson" 和 "Kylie Minogue" 对应的行。

  2. 在画布上再次选择 执行工作流(Execute workflow)。然后再次打开“去除重复项(Remove Duplicates)”节点以查看结果。

n8n 将当前输入的数据与之前执行中存储的项目进行比较。这一次,保留(Kept) 选项卡中包含一条关于 "Kylie Minogue" 的记录。n8n 保留此项目的原因是其 last_updated 列的值(2024-10-24T08:03:16.493Z)晚于之前的任何值(此前最新的日期为 2024-10-17T17:11:38.493Z):

idnamejoblast_updated
11Kylie MinoguePop star2024-10-24T08:03:16.493Z

丢弃(Discarded) 选项卡中包含 15 条 last_updated 值等于或早于之前最新日期(2024-10-17T17:11:38.493Z)的记录。尽管是新数据,该表仍包含了 "Harry Nilsson" 的条目,因为其 last_updated 值并未晚于之前的最新值:

idnamejoblast_updated
10Harry NilssonSinger-songwriter2020-10-17T17:11:38.493Z
0MadonnaPop star2024-10-17T17:11:38.493Z
1Taylor SwiftPop star2024-09-20T10:12:43.493Z
1Taylor SwiftPop star2024-09-20T10:12:43.493Z
2Ed SheeranSinger-songwriter2024-10-05T08:30:59.493Z
2Ed SheeranSinger-songwriter2024-10-05T08:30:59.493Z
3AdeleSinger-songwriter2024-10-07T14:15:59.493Z
3AdeleSinger-songwriter2024-10-07T14:15:59.493Z
4Bruno MarsSinger-songwriter2024-08-25T17:45:12.493Z
5Billie EilishSinger-songwriter2024-09-10T09:30:12.493Z
6Katy PerryPop star2024-10-08T12:30:45.493Z
7Lady GagaPop star2024-09-15T14:45:30.493Z
8RihannaPop star2024-10-01T11:50:22.493Z
9Tom HanksActor2024-10-17T13:58:31.493Z
15Bob DylanFolk singer2024-09-24T08:03:16.493Z