跳到主要内容

数据集比较#

数据集比较节点可帮助您比对两个输入流的数据。

节点参数#

  1. 确定要比对的字段。在 输入A字段 中输入来自输入流A的字段名称,在 输入B字段 中输入来自输入流B的字段名称。
  2. 可选:支持多字段比对。选择 添加匹配字段 可设置更多比对条件。
  3. 选择数据集差异处理方式。在 存在差异时 选择以下选项之一:
    • 使用输入A版本 将输入流A作为数据基准
    • 使用输入B版本 将输入流B作为数据基准
    • 使用混合版本 为不同字段采用不同输入源
      • 通过 优先选择 指定 输入A版本输入B版本 作为主数据基准
      • 除以下字段外 中输入需要从另一输入源获取数据的例外字段。如需添加多个字段,请输入逗号分隔的列表
    • 包含双版本 在输出中同时保留两个输入流,这可能会使数据结构更复杂
  4. 确定是否启用 模糊比对。开启后,字段比对时将容忍轻微的类型差异。例如:数字3与字符串3在开启时会视为相同,关闭时则视为不同。

理解项目比对#

项目比对分为两个阶段:

  1. n8n检查选定比对字段的值在两条输入流中是否匹配
  2. 当比对字段匹配时,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团队
查看模板详情

浏览数据集对比集成模板搜索全部模板