模板与示例#
以下是一些适用于 Remove Duplicates 节点的模板和示例。
连续示例
本节包含的示例是一个连续序列。请按顺序操作以避免意外结果。
模板#
使用 Code 节点设置示例数据#
创建一个包含示例输入数据的工作流来测试 Remove Duplicates 节点。
- 在画布上添加一个 Code 节点,并将其连接到 Manual Trigger 节点。
- 在 Code 节点中,将模式设为为每个项目运行一次,语言设为JavaScript。
- 在 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'}, ] }
- 在画布上添加一个 Split Out 节点,并将其连接到 Code 节点。
- 在 Split Out 节点中,在 Fields To Split Out 字段中输入
data
。
从当前输入中移除重复项#
- 在画布上添加一个 Remove Duplicates 节点并连接到 Split Out 节点。首先选择 Remove items repeated within current input 作为 Action。
- 打开 Remove Duplicates 节点,确保 Operation 设置为 Remove Items Repeated Within Current Input。
- 在 Compare 字段中选择 All fields。
- 选择 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 |
- 再次打开 Remove Duplicates 节点,将 Compare 参数改为 Selected Fields。
- 在 Fields To Compare 字段中输入
job
。 - 选择 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 |
保留值为新的项目#
- 打开 Remove Duplicates 节点,将 Operation 设置为 Remove Items Processed in Previous Executions(移除之前执行过的项目)。
- 将 Keep Items Where 参数设置为 Value Is New(值为新)。
- 将 Value to Dedupe On 参数设置为
{{ $json.name }}
。 - 在画布上选择 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(移除之前执行过的项目)操作。
- 打开 Code 节点,取消注释(移除
//
)"Tom Hanks" 所在行。 - 在画布上再次选择 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 |
继续之前,请清除去重历史记录以便进行下一个示例:
- 打开 Remove Duplicates 节点,将 Operation 设置为 Clear Deduplication History(清除去重历史记录)。
- 选择 Execute step 清除当前去重历史记录。
保留值高于之前所有值的项目#
- 打开 Remove Duplicates 节点,将 Operation 设置为 Remove Items Processed in Previous Executions(移除先前执行处理过的项目)。
- 将 Keep Items Where 参数设置为 Value Is Higher than Any Previous Value(值高于之前所有值)。
- 将 Value to Dedupe On 参数设为
{{ $json.id }}
。 - 在画布上选择 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 |
- 打开 Code 节点,取消注释(移除
//
)"Madonna" 和 "Bob Dylan" 对应的行。 - 在画布上再次选择 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 |
在继续之前,请清除去重历史记录以便为下一个示例做好准备:
- 打开 Remove Duplicates 节点,将 Operation 设置为 Clear Deduplication History(清除去重历史记录)。
- 选择 Execute step 清除当前去重历史记录。
保留日期值大于之前所有日期的条目#
- 打开 Remove Duplicates 节点,将 Operation 设置为 Remove Items Processed in Previous Executions。
- 将 Keep Items Where 参数设置为 Value Is a Date Later than Any Previous Date。
- 将 Value to Dedupe On 参数设置为
{{ $json.last_updated }}
。 - 在画布上选择 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 |
- 打开 Code 节点,取消注释(移除
//
)"Harry Nilsson" 和 "Kylie Minogue" 对应的行。
- 在画布上再次选择 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 |