数据集比较#
数据集比较节点可帮助您比对两个输入流的数据。
节点参数#
- 确定要比对的字段。在 输入A字段 中输入来 自输入流A的字段名称,在 输入B字段 中输入来自输入流B的字段名称。
- 可选:支持多字段比对。选择 添加匹配字段 可设置更多比对条件。
- 选择数据集差异处理方式。在 存在差异时 选择以下选项之一:
- 使用输入A版本 将输入流A作为数据基准
- 使用输入B版本 将输入流B作为数据基准
- 使用混合版本 为不同字段采用不同输入源
- 通过 优先选择 指定 输入A版本 或 输入B版本 作为主数据基准
- 在 除以下字段外 中输入需要从另一输入源获取数据的例外字段。如需添加多个字段,请输入逗号分隔的列表
- 包含双版本 在输出中同时保留两个输入流,这可能会使数据结构更复杂
- 确定是否启用 模糊比对。开启后,字段比对时将容忍轻微的类型差异。例如:数字3与字符串
3在开启时会视为相同,关闭时则视为不同。
理解项目比对#
项目比对分为两个阶段:
- n8n检查选定比对字段的值在两条输入流中是否匹配
- 当比对字段匹配时,n8n会进一步比对项目内的所有字段,以确定项目是否完全相同
节点选项#
通过节点 选项 可优化比对条件或调整比对行为。
跳过比对字段#
输入比对过程中需要忽略的字段名称。
例如:当使用person.language作为 匹配字段 比对以下两个数据集时,n8n将返回差异结果。若将person.name添加到 跳过比对字段,n8n将返回匹配结果。
// Input 1
[
{
"person":
{
"name": "Stefan",
"language": "de"
}
},
{
"person":
{
"name": "Jim",
"language": "en"
}
},
{
"person":
{
"name": "Hans",
"language": "de"
}
}
]
// Input 2
[
{
"person":
{
"name": "Sara",
"language": "de"
}
},
{
"person":
{
"name": "Jane",
"language": "en"
}
},
{
"person":
{
"name": "Harriet",
"language": "de"
}
}
]
禁用点标记#
是否禁止在字段名称中使用parent.child形式引用子字段(启用时禁止,禁用时允许,默认为禁用)。
多重匹配#
选择如何处理重复数据。默认为包含所有匹配项。您可选择仅包含首个匹配项。
例如,给定以下两个数据集:
// Input 1
[
{
"fruit": {
"type": "apple",
"color": "red"
}
},
{
"fruit": {
"type": "apple",
"color": "red"
}
},
{
"fruit": {
"type": "banana",
"color": "yellow"
}
}
]
// Input 2
[
{
"fruit": {
"type": "apple",
"color": "red"
}
},
{
"fruit": {
"type": "apple",
"color": "red"
}
},
{
"fruit": {
"type": "banana",
"color": "yellow"
}
}
]
n8n在相同分支标签页中返回三个项目。两个分支中的数据完全一致。
若选择仅包含首次匹配项,n8n会在相同分支标签页中返回两个项目。虽然两个分支中的数据相同,但n8n仅返回首次出现的匹配“apple”项。
理解输出#
共有四种输出选项:
- 仅A分支:包含仅出现在第一个输入中的数据
- 相同分支:包含两个输入中一致的数据
- 差异分支:包含两个输入中存在差异的数据
- 仅B分支:包含仅出现在第二个输出中的数据
模板与示例#
基于AI内容分类的Gmail智能邮件管理
作者:Niranjan G
查看模板详情
Pipedrive与MySQL双向同步
作者:n8n团队
查看模板详情
Google Sheets数据与MySQL同步
作者:n8n团队
查看模板详情