数据集比较节点#
Compare Datasets 节点帮助您比较两个输入流的数据。
节点参数#
- 选择要比较的字段。在 Input A Field 中输入您想使用的输入流 A 的字段名称,在 Input B Field 中输入您想使用的输入流 B 的字段名称。
- 可选:您可以按多个字段进行比较。选择 Add Fields to Match 来设置更多比较项。
- 选择处理数据集差异的方式。在 When There Are Differences 中选择以下选项之一:
- Use Input A Version 将输入流 A 作为数据权威来源
- Use Input B Version 将输入流 B 作为数据权威来源
- Use a Mix of Versions 对不同字段使用不同输入源
- 使用 Prefer 选择 Input A Version 或 Input B Version 作为主要数据来源
- 在 For Everything Except 中输入例外字段来从另一个输入源获取数据。要添加多个输入字段,请输入逗号分隔的列表。
- Include Both Versions 在输出中包含两个输入流,这可能会使数据结构更复杂。
- 决定是否使用 Fuzzy Compare。启用后,在比较字段时会容忍小的类型差异。例如,数字 3 和字符串
3
在启用 Fuzzy Compare 时会被视为相同,但禁用时则不会。
理解项目比较#
项目比较是一个两阶段过程:
- n8n 检查您选择的比较字段值在两个输入流中是否匹配。
- 如果比较字段匹配,n8n 会比较项目内的所有字段,以确定项目是相同还是不同。
节点选项#
使用节点 Options 来优化您的比较或调整比较行为。
需要跳过的比较字段#
输入您希望在比较中忽略的字段名称。
例如,如果您使用 person.language
作为匹配字段来比较以下两个数据集,n8n 会返回它们为不同。如果您将 person.name
添加到需要跳过的比较字段中,n8n 会返回它们为匹配。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
|
禁用点表示法#
是否禁止在字段名中使用 parent.child
的形式引用子字段(开启)或允许使用(关闭,默认值)。
多重匹配#
选择如何处理重复数据。默认为包含所有匹配项。您可以选择仅包含首个匹配项。
例如,给定以下两个数据集:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
|
n8n 会在相同分支标签页中返回三个条目。两个分支中的数据是相同的。
如果选择仅包含首个匹配项,n8n 会在相同分支标签页中返回两个条目。虽然两个分支中的数据相同,但 n8n 只会返回匹配的"apple"项的第一个出现实例。
理解输出结果#
共有四种输出选项:
- 仅A分支数据:包含仅出现在第一个输入中的数据
- 相同分支数据:包含在两个输入中完全相同的数据
- 差异分支数据:包含输入之间存在差异的数据
- 仅B分支数据:包含仅出现在第二个输出中的数据
模板与示例#